--0016367fadb19f8c510491443f98
Content-Type: text/plain; charset=ISO-8859-1
Hi!
Here is the patch for the proportional RSS. I have attached the diff also.
It will work only for uni processor i386 arch, other functionality
will be added soon.
Please, tell me if some changes need to be made.
Remarks from you guys are always important and well-come.
Good day ...
-Pratyush
<pratyush.kshirsagar [at] gmail.com>
--0016367fadb19f8c510491443f98
Content-Type: application/octet-stream;
name="0001-Changes-made-to-submit-a-clean-patch.patch"
Content-Disposition: attachment;
filename="0001-Changes-made-to-submit-a-clean-patch.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gelkcisj0
RnJvbSBhMTRmMjEzNGRlZTQ2MWY3ZGEzZmFhMDcwNTIzMmY5NzllZjliM2VhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBDaGFybGllIDxyb290QGF0aGEuZGh5YW5hbS5jb20+CkRhdGU6
IE1vbiwgMjcgU2VwIDIwMTAgMTY6Mjc6NDAgKzAwMDAKU3ViamVjdDogW1BBVENIXSBDaGFuZ2Vz
IG1hZGUgdG8gc3VibWl0IGEgY2xlYW4gcGF0Y2gKCi0tLQogc3lzL2tlcm4va2Vybl9raW5mby5j
ICAgICAgICAgfCAgICAxICsKIHN5cy9wbGF0Zm9ybS9wYzMyL2kzODYvcG1hcC5jIHwgICAgNCAr
KysrCiBzeXMvc3lzL2tpbmZvLmggICAgICAgICAgICAgICB8ICAgIDIgKy0KIHN5cy92bS92bV9t
YXAuaCAgICAgICAgICAgICAgIHwgICAzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysKIHN5cy92bS92bV9vYmplY3QuYyAgICAgICAgICAgIHwgICAgMSArCiBzeXMvdm0v
dm1fb2JqZWN0LmggICAgICAgICAgICB8ICAgIDEgKwogc3lzL3ZtL3ZtX3BhZ2UuYyAgICAgICAg
ICAgICAgfCAgICA3ICsrKysrKysKIHVzci5iaW4vdG9wL21fZHJhZ29uZmx5LmMgICAgIHwgICAg
NSArKystLQogOCBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL3N5cy9rZXJuL2tlcm5fa2luZm8uYyBiL3N5cy9rZXJuL2tlcm5fa2lu
Zm8uYwppbmRleCA2M2RlMWQyLi5lZjNmYTNhIDEwMDY0NAotLS0gYS9zeXMva2Vybi9rZXJuX2tp
bmZvLmMKKysrIGIvc3lzL2tlcm4va2Vybl9raW5mby5jCkBAIC0xNDcsNiArMTQ3LDcgQEAgZmls
bF9raW5mb19wcm9jKHN0cnVjdCBwcm9jICpwLCBzdHJ1Y3Qga2luZm9fcHJvYyAqa3ApCiAJaWYg
KHAtPnBfdm1zcGFjZSkgewogCQlrcC0+a3Bfdm1fbWFwX3NpemUgPSBwLT5wX3Ztc3BhY2UtPnZt
X21hcC5zaXplOwogCQlrcC0+a3Bfdm1fcnNzaXplID0gdm1zcGFjZV9yZXNpZGVudF9jb3VudChw
LT5wX3Ztc3BhY2UpOworCQlrcC0+a3Bfdm1fcHJzc2l6ZSA9IHZtc3BhY2VfcHJlc2lkZW50X2Nv
dW50KHAtPnBfdm1zcGFjZSk7CiAJCWtwLT5rcF92bV9zd3JzcyA9IHAtPnBfdm1zcGFjZS0+dm1f
c3dyc3M7CiAJCWtwLT5rcF92bV90c2l6ZSA9IHAtPnBfdm1zcGFjZS0+dm1fdHNpemU7CiAJCWtw
LT5rcF92bV9kc2l6ZSA9IHAtPnBfdm1zcGFjZS0+dm1fZHNpemU7CmRpZmYgLS1naXQgYS9zeXMv
cGxhdGZvcm0vcGMzMi9pMzg2L3BtYXAuYyBiL3N5cy9wbGF0Zm9ybS9wYzMyL2kzODYvcG1hcC5j
CmluZGV4IDI4YmFlZTguLmI3YTdkMWQgMTAwNjQ0Ci0tLSBhL3N5cy9wbGF0Zm9ybS9wYzMyL2kz
ODYvcG1hcC5jCisrKyBiL3N5cy9wbGF0Zm9ybS9wYzMyL2kzODYvcG1hcC5jCkBAIC0xNzQ4LDYg
KzE3NDgsNyBAQCBwbWFwX3JlbW92ZV9lbnRyeShzdHJ1Y3QgcG1hcCAqcG1hcCwgdm1fcGFnZV90
IG0sCiAJdGVzdF9tX21hcHNfcHYobSwgcHYpOwogCVRBSUxRX1JFTU9WRSgmbS0+bWQucHZfbGlz
dCwgcHYsIHB2X2xpc3QpOwogCW0tPm1kLnB2X2xpc3RfY291bnQtLTsKKyAgICAgICAgbS0+b2Jq
ZWN0LT5hZ2dfcHZfbGlzdF9jb3VudC0tOwogCWlmIChUQUlMUV9FTVBUWSgmbS0+bWQucHZfbGlz
dCkpCiAJCXZtX3BhZ2VfZmxhZ19jbGVhcihtLCBQR19NQVBQRUQgfCBQR19XUklURUFCTEUpOwog
CVRBSUxRX1JFTU9WRSgmcG1hcC0+cG1fcHZsaXN0LCBwdiwgcHZfcGxpc3QpOwpAQCAtMTc4Miw2
ICsxNzgzLDcgQEAgcG1hcF9pbnNlcnRfZW50cnkocG1hcF90IHBtYXAsIHZtX29mZnNldF90IHZh
LCB2bV9wYWdlX3QgbXB0ZSwgdm1fcGFnZV90IG0pCiAJVEFJTFFfSU5TRVJUX1RBSUwoJm0tPm1k
LnB2X2xpc3QsIHB2LCBwdl9saXN0KTsKIAkrK3BtYXAtPnBtX2dlbmVyYXRpb247CiAJbS0+bWQu
cHZfbGlzdF9jb3VudCsrOworCW0tPm9iamVjdC0+YWdnX3B2X2xpc3RfY291dCsrOwogCiAJY3Jp
dF9leGl0KCk7CiB9CkBAIC0yMDIzLDYgKzIwMjUsNyBAQCBwbWFwX3JlbW92ZV9hbGwodm1fcGFn
ZV90IG0pCiAJCVRBSUxRX1JFTU9WRSgmcHYtPnB2X3BtYXAtPnBtX3B2bGlzdCwgcHYsIHB2X3Bs
aXN0KTsKIAkJKytwdi0+cHZfcG1hcC0+cG1fZ2VuZXJhdGlvbjsKIAkJbS0+bWQucHZfbGlzdF9j
b3VudC0tOworCQltLT5vYmplY3QtPmFnZ19wdl9saXN0X2NvdW50LS07CiAJCWlmIChUQUlMUV9F
TVBUWSgmbS0+bWQucHZfbGlzdCkpCiAJCQl2bV9wYWdlX2ZsYWdfY2xlYXIobSwgUEdfTUFQUEVE
IHwgUEdfV1JJVEVBQkxFKTsKIAkJcG1hcF91bnVzZV9wdChwdi0+cHZfcG1hcCwgcHYtPnB2X3Zh
LCBwdi0+cHZfcHRlbSwgJmluZm8pOwpAQCAtMjkxOSw2ICsyOTIyLDcgQEAgcG1hcF9yZW1vdmVf
cGFnZXMocG1hcF90IHBtYXAsIHZtX29mZnNldF90IHN2YSwgdm1fb2Zmc2V0X3QgZXZhKQogCQlz
YXZlX2dlbmVyYXRpb24gPSArK3BtYXAtPnBtX2dlbmVyYXRpb247CiAKIAkJbS0+bWQucHZfbGlz
dF9jb3VudC0tOworCQltLT5vYmplY3QtPmFnZ19wdl9saXN0X2NvdXQtLTsKIAkJVEFJTFFfUkVN
T1ZFKCZtLT5tZC5wdl9saXN0LCBwdiwgcHZfbGlzdCk7CiAJCWlmIChUQUlMUV9FTVBUWSgmbS0+
bWQucHZfbGlzdCkpCiAJCQl2bV9wYWdlX2ZsYWdfY2xlYXIobSwgUEdfTUFQUEVEIHwgUEdfV1JJ
VEVBQkxFKTsKZGlmZiAtLWdpdCBhL3N5cy9zeXMva2luZm8uaCBiL3N5cy9zeXMva2luZm8uaApp
bmRleCBjNTQ3YzZkLi5mODY3ZjhkIDEwMDY0NAotLS0gYS9zeXMvc3lzL2tpbmZvLmgKKysrIGIv
c3lzL3N5cy9raW5mby5oCkBAIC0xOTgsNyArMTk4LDcgQEAgc3RydWN0IGtpbmZvX3Byb2Mgewog
CXNlZ3N6X3QJCWtwX3ZtX3RzaXplOwkJLyogdGV4dCBzaXplICovCiAJc2Vnc3pfdAkJa3Bfdm1f
ZHNpemU7CQkvKiBkYXRhIHNpemUgKi8KIAlzZWdzel90CQlrcF92bV9zc2l6ZTsJCS8qIHN0YWNr
IHNpemUgKi8KLQorICAgICAgICB1X2ludCAJCWtwX3ZtX3Byc3NpemU7CQkvKiBwcm9wb3J0aW9u
YWwgcnNzICovCiAJaW50CQlrcF9qYWlsaWQ7CiAKIAlzdHJ1Y3QgcnVzYWdlCWtwX3J1OwpkaWZm
IC0tZ2l0IGEvc3lzL3ZtL3ZtX21hcC5oIGIvc3lzL3ZtL3ZtX21hcC5oCmluZGV4IGFjMzI1ZGIu
LmU5MWQ0Y2YgMTAwNjQ0Ci0tLSBhL3N5cy92bS92bV9tYXAuaAorKysgYi9zeXMvdm0vdm1fbWFw
LmgKQEAgLTkzLDYgKzkzLDEyIEBACiAjaWZuZGVmIF9NQUNISU5FX1BNQVBfSF8KICNpbmNsdWRl
IDxtYWNoaW5lL3BtYXAuaD4KICNlbmRpZgorI2lmbmRlZiBfVk1fVk1fT0JKRUNUX0hfCisjaW5j
bHVkZSA8dm0vdm1fb2JqZWN0Lmg+CisjZW5kaWYKKyNpZm5kZWYgX1NZU19OVUxMX0hfCisjaW5j
bHVkZSA8c3lzL19udWxsLmg+CisjZW5kaWYKIAogc3RydWN0IHZtX21hcF9yYl90cmVlOwogUkJf
UFJPVE9UWVBFKHZtX21hcF9yYl90cmVlLCB2bV9tYXBfZW50cnksIHJiX2VudHJ5LCByYl92bV9t
YXBfY29tcGFyZSk7CkBAIC00MDAsNiArNDA2LDM5IEBAIHZtc3BhY2VfcmVzaWRlbnRfY291bnQo
c3RydWN0IHZtc3BhY2UgKnZtc3BhY2UpCiAJcmV0dXJuIHBtYXBfcmVzaWRlbnRfY291bnQodm1z
cGFjZV9wbWFwKHZtc3BhY2UpKTsKIH0KIAorLyogQ2FsY3VsYXRlcyB0aGUgcHJvcG9ydGlvbmFs
IFJTUyBhbmQgcmV0dXJuaW5nIHRoZQorICogYWNjcnVlZCByZXN1bHQuIE5vIG5lZWQgdG8gdXNl
IGdldHRva2VuL3JlbHRva2VuCisgKiBCR0wgaXMgcHJvdGVjdGluZyB0aGUgZGF0YS4KKyAqLwor
c3RhdGljIF9faW5saW5lIHVfaW50Cit2bXNwYWNlX3ByZXNpZGVudF9jb3VudChzdHJ1Y3Qgdm1z
cGFjZSAqdm1zcGFjZSkKK3sKKwl2bV9tYXBfdCBtYXAgPSAmdm1zcGFjZS0+dm1fbWFwOworCXZt
X21hcF9lbnRyeV90IGN1cjsKKwl2bV9vYmplY3RfdCBvYmplY3Q7CisJdV9pbnQgY291bnQgPSAw
OworCisJLy8JbHdrdF9nZXR0b2tlbigmdm1zcGFjZV90b2tlbik7CisJZm9yIChjdXIgPSBtYXAt
PmhlYWRlci5uZXh0OyBjdXIgIT0gJm1hcC0+aGVhZGVyOyBjdXIgPSBjdXItPm5leHQpIHsKKwkJ
c3dpdGNoKGN1ci0+bWFwdHlwZSkgeworCQljYXNlIFZNX01BUFRZUEVfTk9STUFMOgorCQljYXNl
IFZNX01BUFRZUEVfVlBBR0VUQUJMRToKKwkJCWlmICgob2JqZWN0ID0gY3VyLT5vYmplY3Qudm1f
b2JqZWN0KSA9PSBOVUxMKQorCQkJCWJyZWFrOworCQkJaWYgKG9iamVjdC0+dHlwZSAhPSBPQkpU
X0RFRkFVTFQgJiYKKwkJCSAgICBvYmplY3QtPnR5cGUgIT0gT0JKVF9TV0FQKSB7CisJCQkJYnJl
YWs7CisJCQl9CisJCQljb3VudCArPSAob2JqZWN0LT5hZ2dfcHZfbGlzdF9jb3VudCAvIG9iamVj
dC0+cmVzaWRlbnRfcGFnZV9jb3VudCk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFr
OworCQl9CisJfQorCS8vbHdrdF9yZWx0b2tlbigmdm1zcGFjZV90b2tlbik7CisJcmV0dXJuKGNv
dW50KTsKK30KKwogLyoKICAqIE51bWJlciBvZiBrZXJuZWwgbWFwcyBhbmQgZW50cmllcyB0byBz
dGF0aWNhbGx5IGFsbG9jYXRlLCByZXF1aXJlZAogICogZHVyaW5nIGJvb3QgdG8gYm9vdHN0cmFw
IHRoZSBWTSBzeXN0ZW0uCmRpZmYgLS1naXQgYS9zeXMvdm0vdm1fb2JqZWN0LmMgYi9zeXMvdm0v
dm1fb2JqZWN0LmMKaW5kZXggZDhhOTI3Mi4uMTVhMjAxMSAxMDA2NDQKLS0tIGEvc3lzL3ZtL3Zt
X29iamVjdC5jCisrKyBiL3N5cy92bS92bV9vYmplY3QuYwpAQCAtMTY0LDYgKzE2NCw3IEBAIF92
bV9vYmplY3RfYWxsb2NhdGUob2JqdHlwZV90IHR5cGUsIHZtX3BpbmRleF90IHNpemUsIHZtX29i
amVjdF90IG9iamVjdCkKIAkJdm1fb2JqZWN0X3NldF9mbGFnKG9iamVjdCwgT0JKX09ORU1BUFBJ
TkcpOwogCW9iamVjdC0+cGFnaW5nX2luX3Byb2dyZXNzID0gMDsKIAlvYmplY3QtPnJlc2lkZW50
X3BhZ2VfY291bnQgPSAwOworCW9iamVjdC0+YWdnX3B2X2xpc3RfY291bnQgPSAwOwogCW9iamVj
dC0+c2hhZG93X2NvdW50ID0gMDsKIAlvYmplY3QtPnBnX2NvbG9yID0gbmV4dF9pbmRleDsKIAlp
ZiAoIHNpemUgPiAoUFFfTDJfU0laRSAvIDMgKyBQUV9QUklNRTEpKQpkaWZmIC0tZ2l0IGEvc3lz
L3ZtL3ZtX29iamVjdC5oIGIvc3lzL3ZtL3ZtX29iamVjdC5oCmluZGV4IGQyMGIzNTAuLjg2ODMw
YTQgMTAwNjQ0Ci0tLSBhL3N5cy92bS92bV9vYmplY3QuaAorKysgYi9zeXMvdm0vdm1fb2JqZWN0
LmgKQEAgLTE2MSw2ICsxNjEsNyBAQCBzdHJ1Y3Qgdm1fb2JqZWN0IHsKIAl1X3Nob3J0IHVudXNl
ZDAxOwogCWludCBwYWdpbmdfaW5fcHJvZ3Jlc3M7CQkvKiBQYWdpbmcgKGluIG9yIG91dCkgc28g
ZG9uJ3QgY29sbGFwc2Ugb3IgZGVzdHJveSAqLwogCWludCByZXNpZGVudF9wYWdlX2NvdW50Owkv
KiBudW1iZXIgb2YgcmVzaWRlbnQgcGFnZXMgKi8KKwl1X2ludCBhZ2dfcHZfbGlzdF9jb3VudDsg
ICAgICAgIC8qIGFnZ3JlZ2F0ZSBwdiBsaXN0IGNvdW50ICovCiAJc3RydWN0IHZtX29iamVjdCAq
YmFja2luZ19vYmplY3Q7IC8qIG9iamVjdCB0aGF0IEknbSBhIHNoYWRvdyBvZiAqLwogCXZtX29v
ZmZzZXRfdCBiYWNraW5nX29iamVjdF9vZmZzZXQ7LyogT2Zmc2V0IGluIGJhY2tpbmcgb2JqZWN0
ICovCiAJVEFJTFFfRU5UUlkodm1fb2JqZWN0KSBwYWdlcl9vYmplY3RfbGlzdDsgLyogbGlzdCBv
ZiBhbGwgb2JqZWN0cyBvZiB0aGlzIHBhZ2VyIHR5cGUgKi8KZGlmZiAtLWdpdCBhL3N5cy92bS92
bV9wYWdlLmMgYi9zeXMvdm0vdm1fcGFnZS5jCmluZGV4IGYwMTMzYjYuLmRiZjg0ODkgMTAwNjQ0
Ci0tLSBhL3N5cy92bS92bV9wYWdlLmMKKysrIGIvc3lzL3ZtL3ZtX3BhZ2UuYwpAQCAtNDMxLDYg
KzQzMSwxMiBAQCB2bV9wYWdlX2luc2VydCh2bV9wYWdlX3QgbSwgdm1fb2JqZWN0X3Qgb2JqZWN0
LCB2bV9waW5kZXhfdCBwaW5kZXgpCiAJb2JqZWN0LT5yZXNpZGVudF9wYWdlX2NvdW50Kys7CiAK
IAkvKgorCSAqIEFkZCB0aGUgcHZfbGlzdF9jb3V0IG9mIHRoZSBwYWdlIHdoZW4gaXRzIGluc2Vy
dGVkIGluCisJICogdGhlIG9iamVjdAorCSovCisJb2JqZWN0LT5hZ2dfcHZfbGlzdF9jb3VudCA9
IG9iamVjdC0+YWdnX3B2X2xpc3RfY291bnQgKyBtLT5tZC5wdl9saXN0X2NvdW50OworCisJLyoK
IAkgKiBTaW5jZSB3ZSBhcmUgaW5zZXJ0aW5nIGEgbmV3IGFuZCBwb3NzaWJseSBkaXJ0eSBwYWdl
LAogCSAqIHVwZGF0ZSB0aGUgb2JqZWN0J3MgT0JKX1dSSVRFQUJMRSBhbmQgT0JKX01JR0hUQkVE
SVJUWSBmbGFncy4KIAkgKi8KQEAgLTQ3OSw2ICs0ODUsNyBAQCB2bV9wYWdlX3JlbW92ZSh2bV9w
YWdlX3QgbSkKIAkgKi8KIAl2bV9wYWdlX3JiX3RyZWVfUkJfUkVNT1ZFKCZvYmplY3QtPnJiX21l
bXEsIG0pOwogCW9iamVjdC0+cmVzaWRlbnRfcGFnZV9jb3VudC0tOworCW9iamVjdC0+YWdnX3B2
X2xpc3RfY291bnQgPSBvYmplY3QtPmFnZ19wdl9saXN0X2NvdW50IC0gbS0+bWQucHZfbGlzdF9j
b3VudDsKIAlvYmplY3QtPmdlbmVyYXRpb24rKzsKIAltLT5vYmplY3QgPSBOVUxMOwogCmRpZmYg
LS1naXQgYS91c3IuYmluL3RvcC9tX2RyYWdvbmZseS5jIGIvdXNyLmJpbi90b3AvbV9kcmFnb25m
bHkuYwppbmRleCBmZmE3ODlhLi5lZmYwNjY2IDEwMDY0NAotLS0gYS91c3IuYmluL3RvcC9tX2Ry
YWdvbmZseS5jCisrKyBiL3Vzci5iaW4vdG9wL21fZHJhZ29uZmx5LmMKQEAgLTEwMywxMCArMTAz
LDEwIEBAIHN0YXRpYyBjaGFyIHNtcF9oZWFkZXJbXSA9CiAJIiU1ZCAlLSouKnMgJTNkICUzZCU3
cyAlNnMgJS02LjZzICUxeCU3cyAlN3MgJTUuMmYlJSAlLipzIgogCiBzdGF0aWMgY2hhciB1cF9o
ZWFkZXJbXSA9Ci0iICBQSUQgJS0qLipzIFBSSSBOSUNFICBTSVpFICAgIFJFUyBTVEFURSAgICBU
SU1FICAgQ1RJTUUgICBDUFUgQ09NTUFORCI7CisiICBQSUQgJS0qLipzIFBSSSBOSUNFICBTSVpF
ICAgIFJFUyAgICBQUkVTIFNUQVRFICAgIFRJTUUgICBDVElNRSAgIENQVSBDT01NQU5EIjsKIAog
I2RlZmluZSB1cF9Qcm9jX2Zvcm1hdCBcCi0JIiU1ZCAlLSouKnMgJTNkICUzZCU3cyAlNnMgJS02
LjZzJS4wZCU3cyAlN3MgJTUuMmYlJSAlLipzIgorCSIlNWQgJS0qLipzICUzZCAlM2QlN3MgJTZz
ICU2cyAgJS02LjZzJS4wZCU3cyAlN3MgJTUuMmYlJSAlLipzIgogCiAKIApAQCAtNjI4LDYgKzYy
OCw3IEBAIGZvcm1hdF9uZXh0X3Byb2Nlc3MoY2FkZHJfdCB4aGFuZGxlLCBjaGFyICooKmdldF91
c2VyaWQpIChpbnQpKQogCSAgICAoaW50KXhuaWNlLAogCSAgICBmb3JtYXRfayhQUk9DU0laRShw
cCkpLAogCSAgICBmb3JtYXRfayhwYWdldG9rKFZQKHBwLCByc3NpemUpKSksCisJICAgIGZvcm1h
dF9rKHBhZ2V0b2soVlAocHAsIHByc3NpemUpKSk7CiAJICAgIHN0YXR1cywKIAkgICAgKGludCko
c21wbW9kZSA/IExQKHBwLCBjcHVpZCkgOiAwKSwKIAkgICAgY3B1dGltZV9mbXQsCi0tIAoxLjYu
NAoK
--0016367fadb19f8c510491443f98
Content-Type: application/octet-stream; name=diff_9_27_10
Content-Disposition: attachment; filename=diff_9_27_10
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gelkd1911
ZGlmZiAtLWdpdCBhL3N5cy9rZXJuL2tlcm5fa2luZm8uYyBiL3N5cy9rZXJuL2tlcm5fa2luZm8u
YwppbmRleCA2M2RlMWQyLi5lZjNmYTNhIDEwMDY0NAotLS0gYS9zeXMva2Vybi9rZXJuX2tpbmZv
LmMKKysrIGIvc3lzL2tlcm4va2Vybl9raW5mby5jCkBAIC0xNDcsNiArMTQ3LDcgQEAgZmlsbF9r
aW5mb19wcm9jKHN0cnVjdCBwcm9jICpwLCBzdHJ1Y3Qga2luZm9fcHJvYyAqa3ApCiAJaWYgKHAt
PnBfdm1zcGFjZSkgewogCQlrcC0+a3Bfdm1fbWFwX3NpemUgPSBwLT5wX3Ztc3BhY2UtPnZtX21h
cC5zaXplOwogCQlrcC0+a3Bfdm1fcnNzaXplID0gdm1zcGFjZV9yZXNpZGVudF9jb3VudChwLT5w
X3Ztc3BhY2UpOworCQlrcC0+a3Bfdm1fcHJzc2l6ZSA9IHZtc3BhY2VfcHJlc2lkZW50X2NvdW50
KHAtPnBfdm1zcGFjZSk7CiAJCWtwLT5rcF92bV9zd3JzcyA9IHAtPnBfdm1zcGFjZS0+dm1fc3dy
c3M7CiAJCWtwLT5rcF92bV90c2l6ZSA9IHAtPnBfdm1zcGFjZS0+dm1fdHNpemU7CiAJCWtwLT5r
cF92bV9kc2l6ZSA9IHAtPnBfdm1zcGFjZS0+dm1fZHNpemU7CmRpZmYgLS1naXQgYS9zeXMvcGxh
dGZvcm0vcGMzMi9pMzg2L3BtYXAuYyBiL3N5cy9wbGF0Zm9ybS9wYzMyL2kzODYvcG1hcC5jCmlu
ZGV4IDI4YmFlZTguLmI3YTdkMWQgMTAwNjQ0Ci0tLSBhL3N5cy9wbGF0Zm9ybS9wYzMyL2kzODYv
cG1hcC5jCisrKyBiL3N5cy9wbGF0Zm9ybS9wYzMyL2kzODYvcG1hcC5jCkBAIC0xNzQ4LDYgKzE3
NDgsNyBAQCBwbWFwX3JlbW92ZV9lbnRyeShzdHJ1Y3QgcG1hcCAqcG1hcCwgdm1fcGFnZV90IG0s
CiAJdGVzdF9tX21hcHNfcHYobSwgcHYpOwogCVRBSUxRX1JFTU9WRSgmbS0+bWQucHZfbGlzdCwg
cHYsIHB2X2xpc3QpOwogCW0tPm1kLnB2X2xpc3RfY291bnQtLTsKKyAgICAgICAgbS0+b2JqZWN0
LT5hZ2dfcHZfbGlzdF9jb3VudC0tOwogCWlmIChUQUlMUV9FTVBUWSgmbS0+bWQucHZfbGlzdCkp
CiAJCXZtX3BhZ2VfZmxhZ19jbGVhcihtLCBQR19NQVBQRUQgfCBQR19XUklURUFCTEUpOwogCVRB
SUxRX1JFTU9WRSgmcG1hcC0+cG1fcHZsaXN0LCBwdiwgcHZfcGxpc3QpOwpAQCAtMTc4Miw2ICsx
NzgzLDcgQEAgcG1hcF9pbnNlcnRfZW50cnkocG1hcF90IHBtYXAsIHZtX29mZnNldF90IHZhLCB2
bV9wYWdlX3QgbXB0ZSwgdm1fcGFnZV90IG0pCiAJVEFJTFFfSU5TRVJUX1RBSUwoJm0tPm1kLnB2
X2xpc3QsIHB2LCBwdl9saXN0KTsKIAkrK3BtYXAtPnBtX2dlbmVyYXRpb247CiAJbS0+bWQucHZf
bGlzdF9jb3VudCsrOworCW0tPm9iamVjdC0+YWdnX3B2X2xpc3RfY291dCsrOwogCiAJY3JpdF9l
eGl0KCk7CiB9CkBAIC0yMDIzLDYgKzIwMjUsNyBAQCBwbWFwX3JlbW92ZV9hbGwodm1fcGFnZV90
IG0pCiAJCVRBSUxRX1JFTU9WRSgmcHYtPnB2X3BtYXAtPnBtX3B2bGlzdCwgcHYsIHB2X3BsaXN0
KTsKIAkJKytwdi0+cHZfcG1hcC0+cG1fZ2VuZXJhdGlvbjsKIAkJbS0+bWQucHZfbGlzdF9jb3Vu
dC0tOworCQltLT5vYmplY3QtPmFnZ19wdl9saXN0X2NvdW50LS07CiAJCWlmIChUQUlMUV9FTVBU
WSgmbS0+bWQucHZfbGlzdCkpCiAJCQl2bV9wYWdlX2ZsYWdfY2xlYXIobSwgUEdfTUFQUEVEIHwg
UEdfV1JJVEVBQkxFKTsKIAkJcG1hcF91bnVzZV9wdChwdi0+cHZfcG1hcCwgcHYtPnB2X3ZhLCBw
di0+cHZfcHRlbSwgJmluZm8pOwpAQCAtMjkxOSw2ICsyOTIyLDcgQEAgcG1hcF9yZW1vdmVfcGFn
ZXMocG1hcF90IHBtYXAsIHZtX29mZnNldF90IHN2YSwgdm1fb2Zmc2V0X3QgZXZhKQogCQlzYXZl
X2dlbmVyYXRpb24gPSArK3BtYXAtPnBtX2dlbmVyYXRpb247CiAKIAkJbS0+bWQucHZfbGlzdF9j
b3VudC0tOworCQltLT5vYmplY3QtPmFnZ19wdl9saXN0X2NvdXQtLTsKIAkJVEFJTFFfUkVNT1ZF
KCZtLT5tZC5wdl9saXN0LCBwdiwgcHZfbGlzdCk7CiAJCWlmIChUQUlMUV9FTVBUWSgmbS0+bWQu
cHZfbGlzdCkpCiAJCQl2bV9wYWdlX2ZsYWdfY2xlYXIobSwgUEdfTUFQUEVEIHwgUEdfV1JJVEVB
QkxFKTsKZGlmZiAtLWdpdCBhL3N5cy9zeXMva2luZm8uaCBiL3N5cy9zeXMva2luZm8uaAppbmRl
eCBjNTQ3YzZkLi5mODY3ZjhkIDEwMDY0NAotLS0gYS9zeXMvc3lzL2tpbmZvLmgKKysrIGIvc3lz
L3N5cy9raW5mby5oCkBAIC0xOTgsNyArMTk4LDcgQEAgc3RydWN0IGtpbmZvX3Byb2MgewogCXNl
Z3N6X3QJCWtwX3ZtX3RzaXplOwkJLyogdGV4dCBzaXplICovCiAJc2Vnc3pfdAkJa3Bfdm1fZHNp
emU7CQkvKiBkYXRhIHNpemUgKi8KIAlzZWdzel90CQlrcF92bV9zc2l6ZTsJCS8qIHN0YWNrIHNp
emUgKi8KLQorICAgICAgICB1X2ludCAJCWtwX3ZtX3Byc3NpemU7CQkvKiBwcm9wb3J0aW9uYWwg
cnNzICovCiAJaW50CQlrcF9qYWlsaWQ7CiAKIAlzdHJ1Y3QgcnVzYWdlCWtwX3J1OwpkaWZmIC0t
Z2l0IGEvc3lzL3ZtL3ZtX21hcC5oIGIvc3lzL3ZtL3ZtX21hcC5oCmluZGV4IGFjMzI1ZGIuLjhh
N2Y3YWMgMTAwNjQ0Ci0tLSBhL3N5cy92bS92bV9tYXAuaAorKysgYi9zeXMvdm0vdm1fbWFwLmgK
QEAgLTkzLDYgKzkzLDEyIEBACiAjaWZuZGVmIF9NQUNISU5FX1BNQVBfSF8KICNpbmNsdWRlIDxt
YWNoaW5lL3BtYXAuaD4KICNlbmRpZgorI2lmbmRlZiBfVk1fVk1fT0JKRUNUX0hfCisjaW5jbHVk
ZSA8dm0vdm1fb2JqZWN0Lmg+CisjZW5kaWYKKyNpZm5kZWYgX1NZU19OVUxMX0hfCisjaW5jbHVk
ZSA8c3lzL19udWxsLmg+CisjZW5kaWYKIAogc3RydWN0IHZtX21hcF9yYl90cmVlOwogUkJfUFJP
VE9UWVBFKHZtX21hcF9yYl90cmVlLCB2bV9tYXBfZW50cnksIHJiX2VudHJ5LCByYl92bV9tYXBf
Y29tcGFyZSk7CkBAIC00MDAsNiArNDA2LDM5IEBAIHZtc3BhY2VfcmVzaWRlbnRfY291bnQoc3Ry
dWN0IHZtc3BhY2UgKnZtc3BhY2UpCiAJcmV0dXJuIHBtYXBfcmVzaWRlbnRfY291bnQodm1zcGFj
ZV9wbWFwKHZtc3BhY2UpKTsKIH0KIAorLyogQ2FsY3VsYXRlcyB0aGUgcHJvcG9ydGlvbmFsIFJT
UyBhbmQgcmV0dXJuaW5nIHRoZSAKKyAqIGFjY3J1ZWQgcmVzdWx0LiBObyBuZWVkIHRvIHVzZSBn
ZXR0b2tlbi9yZWx0b2tlbiAKKyAqIEJHTCBpcyBwcm90ZWN0aW5nIHRoZSBkYXRhLgorICovIAor
c3RhdGljIF9faW5saW5lIHVfaW50Cit2bXNwYWNlX3ByZXNpZGVudF9jb3VudChzdHJ1Y3Qgdm1z
cGFjZSAqdm1zcGFjZSkKK3sKKwl2bV9tYXBfdCBtYXAgPSAmdm1zcGFjZS0+dm1fbWFwOworCXZt
X21hcF9lbnRyeV90IGN1cjsKKwl2bV9vYmplY3RfdCBvYmplY3Q7CisJdV9pbnQgY291bnQgPSAw
OworCisJLy8JbHdrdF9nZXR0b2tlbigmdm1zcGFjZV90b2tlbik7CisJZm9yIChjdXIgPSBtYXAt
PmhlYWRlci5uZXh0OyBjdXIgIT0gJm1hcC0+aGVhZGVyOyBjdXIgPSBjdXItPm5leHQpIHsKKwkJ
c3dpdGNoKGN1ci0+bWFwdHlwZSkgeworCQljYXNlIFZNX01BUFRZUEVfTk9STUFMOgorCQljYXNl
IFZNX01BUFRZUEVfVlBBR0VUQUJMRToKKwkJCWlmICgob2JqZWN0ID0gY3VyLT5vYmplY3Qudm1f
b2JqZWN0KSA9PSBOVUxMKQorCQkJCWJyZWFrOworCQkJaWYgKG9iamVjdC0+dHlwZSAhPSBPQkpU
X0RFRkFVTFQgJiYKKwkJCSAgICBvYmplY3QtPnR5cGUgIT0gT0JKVF9TV0FQKSB7CisJCQkJYnJl
YWs7CisJCQl9CisJCQljb3VudCArPSAob2JqZWN0LT5hZ2dfcHZfbGlzdF9jb3VudCAvIG9iamVj
dC0+cmVzaWRlbnRfcGFnZV9jb3VudCk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFr
OworCQl9CisJfQorCS8vbHdrdF9yZWx0b2tlbigmdm1zcGFjZV90b2tlbik7CisJcmV0dXJuKGNv
dW50KTsKK30KKwogLyoKICAqIE51bWJlciBvZiBrZXJuZWwgbWFwcyBhbmQgZW50cmllcyB0byBz
dGF0aWNhbGx5IGFsbG9jYXRlLCByZXF1aXJlZAogICogZHVyaW5nIGJvb3QgdG8gYm9vdHN0cmFw
IHRoZSBWTSBzeXN0ZW0uCmRpZmYgLS1naXQgYS9zeXMvdm0vdm1fb2JqZWN0LmMgYi9zeXMvdm0v
dm1fb2JqZWN0LmMKaW5kZXggZDhhOTI3Mi4uMTVhMjAxMSAxMDA2NDQKLS0tIGEvc3lzL3ZtL3Zt
X29iamVjdC5jCisrKyBiL3N5cy92bS92bV9vYmplY3QuYwpAQCAtMTY0LDYgKzE2NCw3IEBAIF92
bV9vYmplY3RfYWxsb2NhdGUob2JqdHlwZV90IHR5cGUsIHZtX3BpbmRleF90IHNpemUsIHZtX29i
amVjdF90IG9iamVjdCkKIAkJdm1fb2JqZWN0X3NldF9mbGFnKG9iamVjdCwgT0JKX09ORU1BUFBJ
TkcpOwogCW9iamVjdC0+cGFnaW5nX2luX3Byb2dyZXNzID0gMDsKIAlvYmplY3QtPnJlc2lkZW50
X3BhZ2VfY291bnQgPSAwOworCW9iamVjdC0+YWdnX3B2X2xpc3RfY291bnQgPSAwOwogCW9iamVj
dC0+c2hhZG93X2NvdW50ID0gMDsKIAlvYmplY3QtPnBnX2NvbG9yID0gbmV4dF9pbmRleDsKIAlp
ZiAoIHNpemUgPiAoUFFfTDJfU0laRSAvIDMgKyBQUV9QUklNRTEpKQpkaWZmIC0tZ2l0IGEvc3lz
L3ZtL3ZtX29iamVjdC5oIGIvc3lzL3ZtL3ZtX29iamVjdC5oCmluZGV4IGQyMGIzNTAuLjg2ODMw
YTQgMTAwNjQ0Ci0tLSBhL3N5cy92bS92bV9vYmplY3QuaAorKysgYi9zeXMvdm0vdm1fb2JqZWN0
LmgKQEAgLTE2MSw2ICsxNjEsNyBAQCBzdHJ1Y3Qgdm1fb2JqZWN0IHsKIAl1X3Nob3J0IHVudXNl
ZDAxOwogCWludCBwYWdpbmdfaW5fcHJvZ3Jlc3M7CQkvKiBQYWdpbmcgKGluIG9yIG91dCkgc28g
ZG9uJ3QgY29sbGFwc2Ugb3IgZGVzdHJveSAqLwogCWludCByZXNpZGVudF9wYWdlX2NvdW50Owkv
KiBudW1iZXIgb2YgcmVzaWRlbnQgcGFnZXMgKi8KKwl1X2ludCBhZ2dfcHZfbGlzdF9jb3VudDsg
ICAgICAgIC8qIGFnZ3JlZ2F0ZSBwdiBsaXN0IGNvdW50ICovCiAJc3RydWN0IHZtX29iamVjdCAq
YmFja2luZ19vYmplY3Q7IC8qIG9iamVjdCB0aGF0IEknbSBhIHNoYWRvdyBvZiAqLwogCXZtX29v
ZmZzZXRfdCBiYWNraW5nX29iamVjdF9vZmZzZXQ7LyogT2Zmc2V0IGluIGJhY2tpbmcgb2JqZWN0
ICovCiAJVEFJTFFfRU5UUlkodm1fb2JqZWN0KSBwYWdlcl9vYmplY3RfbGlzdDsgLyogbGlzdCBv
ZiBhbGwgb2JqZWN0cyBvZiB0aGlzIHBhZ2VyIHR5cGUgKi8KZGlmZiAtLWdpdCBhL3N5cy92bS92
bV9wYWdlLmMgYi9zeXMvdm0vdm1fcGFnZS5jCmluZGV4IGYwMTMzYjYuLjJkNjVkNmEgMTAwNjQ0
Ci0tLSBhL3N5cy92bS92bV9wYWdlLmMKKysrIGIvc3lzL3ZtL3ZtX3BhZ2UuYwpAQCAtNDMwLDYg
KzQzMCwxMiBAQCB2bV9wYWdlX2luc2VydCh2bV9wYWdlX3QgbSwgdm1fb2JqZWN0X3Qgb2JqZWN0
LCB2bV9waW5kZXhfdCBwaW5kZXgpCiAJICovCiAJb2JqZWN0LT5yZXNpZGVudF9wYWdlX2NvdW50
Kys7CiAKKwkvKiAKKwkgKiBBZGQgdGhlIHB2X2xpc3RfY291dCBvZiB0aGUgcGFnZSB3aGVuIGl0
cyBpbnNlcnRlZCBpbgorCSAqIHRoZSBvYmplY3QgCisJKi8KKwlvYmplY3QtPmFnZ19wdl9saXN0
X2NvdW50ID0gb2JqZWN0LT5hZ2dfcHZfbGlzdF9jb3VudCArIG0tPm1kLnB2X2xpc3RfY291bnQ7
CisKIAkvKgogCSAqIFNpbmNlIHdlIGFyZSBpbnNlcnRpbmcgYSBuZXcgYW5kIHBvc3NpYmx5IGRp
cnR5IHBhZ2UsCiAJICogdXBkYXRlIHRoZSBvYmplY3QncyBPQkpfV1JJVEVBQkxFIGFuZCBPQkpf
TUlHSFRCRURJUlRZIGZsYWdzLgpAQCAtNDc5LDYgKzQ4NSw3IEBAIHZtX3BhZ2VfcmVtb3ZlKHZt
X3BhZ2VfdCBtKQogCSAqLwogCXZtX3BhZ2VfcmJfdHJlZV9SQl9SRU1PVkUoJm9iamVjdC0+cmJf
bWVtcSwgbSk7CiAJb2JqZWN0LT5yZXNpZGVudF9wYWdlX2NvdW50LS07CisJb2JqZWN0LT5hZ2df
cHZfbGlzdF9jb3VudCA9IG9iamVjdC0+YWdnX3B2X2xpc3RfY291bnQgLSBtLT5tZC5wdl9saXN0
X2NvdW50OwogCW9iamVjdC0+Z2VuZXJhdGlvbisrOwogCW0tPm9iamVjdCA9IE5VTEw7CiAKZGlm
ZiAtLWdpdCBhL3Vzci5iaW4vdG9wL21fZHJhZ29uZmx5LmMgYi91c3IuYmluL3RvcC9tX2RyYWdv
bmZseS5jCmluZGV4IGZmYTc4OWEuLmVmZjA2NjYgMTAwNjQ0Ci0tLSBhL3Vzci5iaW4vdG9wL21f
ZHJhZ29uZmx5LmMKKysrIGIvdXNyLmJpbi90b3AvbV9kcmFnb25mbHkuYwpAQCAtMTAzLDEwICsx
MDMsMTAgQEAgc3RhdGljIGNoYXIgc21wX2hlYWRlcltdID0KIAkiJTVkICUtKi4qcyAlM2QgJTNk
JTdzICU2cyAlLTYuNnMgJTF4JTdzICU3cyAlNS4yZiUlICUuKnMiCiAKIHN0YXRpYyBjaGFyIHVw
X2hlYWRlcltdID0KLSIgIFBJRCAlLSouKnMgUFJJIE5JQ0UgIFNJWkUgICAgUkVTIFNUQVRFICAg
IFRJTUUgICBDVElNRSAgIENQVSBDT01NQU5EIjsKKyIgIFBJRCAlLSouKnMgUFJJIE5JQ0UgIFNJ
WkUgICAgUkVTICAgIFBSRVMgU1RBVEUgICAgVElNRSAgIENUSU1FICAgQ1BVIENPTU1BTkQiOwog
CiAjZGVmaW5lIHVwX1Byb2NfZm9ybWF0IFwKLQkiJTVkICUtKi4qcyAlM2QgJTNkJTdzICU2cyAl
LTYuNnMlLjBkJTdzICU3cyAlNS4yZiUlICUuKnMiCisJIiU1ZCAlLSouKnMgJTNkICUzZCU3cyAl
NnMgJTZzICAlLTYuNnMlLjBkJTdzICU3cyAlNS4yZiUlICUuKnMiCiAKIAogCkBAIC02MjgsNiAr
NjI4LDcgQEAgZm9ybWF0X25leHRfcHJvY2VzcyhjYWRkcl90IHhoYW5kbGUsIGNoYXIgKigqZ2V0
X3VzZXJpZCkgKGludCkpCiAJICAgIChpbnQpeG5pY2UsCiAJICAgIGZvcm1hdF9rKFBST0NTSVpF
KHBwKSksCiAJICAgIGZvcm1hdF9rKHBhZ2V0b2soVlAocHAsIHJzc2l6ZSkpKSwKKwkgICAgZm9y
bWF0X2socGFnZXRvayhWUChwcCwgcHJzc2l6ZSkpKTsKIAkgICAgc3RhdHVzLAogCSAgICAoaW50
KShzbXBtb2RlID8gTFAocHAsIGNwdWlkKSA6IDApLAogCSAgICBjcHV0aW1lX2ZtdCwK
--0016367fadb19f8c510491443f98--