Re: Patching latest TORCS changes in CVS
David Savinkoff <[email protected]> Sat, 11 Mar 2017 21:48:35 -0700 (MST)
| Newsgroups | gmane.games.torcs.general |
|---|---|
| Message-ID | <1962710545.71222787.1489294115339.JavaMail.zimbra@mailid.telus.net> |
------=_Part_71222784_1526971510.1489294115335 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Rolling resistance tweak. ----- David Savinkoff wrote: > Update. > ----- David Savinkoff wrote: > > This one is for those that have ripped up a motocross track with a bike, > > or who have driven a Chevy II Nova on a dirt track, > > or those that have seen real drifting on you-tube: > > > > - Grab that latest TORCS from cvs > > - Apply torcs-1.3.8.contact.2.patch and compile. > > > > - Select car1-trb1 (semi-pro) > > - Try Alpine 2 (you can drift the whole track! -- ha ha) > > - Try Dirt 2 (yeah, you know ... see ya) > > - Then discover Hidden Valley (the new track! ) > > > > Sincerely, > > David Savinkoff > > > > ----- David Savinkoff wrote: > > > ----- David Savinkoff wrote: > > > > Here is a patch to play with. > > > > Correctly combined longitudinal, lateral, and yaw tire friction forces. > > > > (realistic and predictable vehicular response where the rubber meets the road) > > > > > > The latest improvements for CVS --> torcs-1.3.8.contact.2.patch > > > The latest improvements for torcs 1.3.7 --> torcs-1.3.7.contact.3.patch > > ------=_Part_71222784_1526971510.1489294115335 Content-Type: text/x-patch; name=torcs-1.3.8.contact.5.patch Content-Disposition: attachment; filename=torcs-1.3.8.contact.5.patch Content-Transfer-Encoding: base64 LS0tIHRvcmNzL3NyYy9tb2R1bGVzL2dyYXBoaWMvc3NnZ3JhcGgvQ2FyU291bmREYXRhLmNwcAky MDE0LTAyLTEwIDAzOjE2OjE4LjAwMDAwMDAwMCAtMDgwMAorKysgdG9yY3Mvc3JjL21vZHVsZXMv Z3JhcGhpYy9zc2dncmFwaC9DYXJTb3VuZERhdGEuY3BwCTIwMTctMDItMjQgMjM6Mjg6MjIuMDAw MDAwMDAwIC0wODAwCkBAIC0zMTUsMjkgKzMxNSwzMCBAQAogCiAgICAgfQogCisvLyBDYWxjdWxh dGUgcm9hZC10aXJlIGNvbnRhY3Qgbm9pc2UgcG9zaXRpb25zIHdpdGggYW4gZWZmaWNpZW50IGZv cm11bGEuCisvLyBub3RlIHRoYXQgc2luKGF6KSBpcyBuZWFybHkgZXF1YWwgdG8gYXogW2luIHJh ZGlhbnNdLgorLy8gbm90ZSB0aGF0IGNvcyhheikgaXMgY2xvc2UgdG8gMS4wIGZvciBtb2RlcmF0 ZSB5YXcgYW5nbGVzLgorLy8gbm90ZSB0aGF0IHRoZSBjb250YWN0IHBhdGNoIGlzIGJlbmVhdGgg R0MgKGFwcHJveCAtMC4zIG1ldHJlcykuCisgICAgdGRibGUgYXogPSBjYXItPl95YXc7CiAgICAg Zm9yIChpID0gMDsgaTw0OyBpKyspIHsKLSAgICAgICAgdGRibGUgYXogPSBjYXItPl95YXc7Ci0g ICAgICAgIHRkYmxlIFNpbnogPSBzaW4oYXopOwotICAgICAgICB0ZGJsZSBDb3N6ID0gY29zKGF6 KTsKLSAgICAgICAgICAgICAgICAKICAgICAgICAgdGRibGUgeCA9IGNhci0+cHJpdi53aGVlbFtp XS5yZWxQb3MueDsKICAgICAgICAgdGRibGUgeSA9IGNhci0+cHJpdi53aGVlbFtpXS5yZWxQb3Mu eTsKICAgICAgICAgICAgICAgICAKLSAgICAgICAgdGRibGUgZHggPSB4ICogQ29zeiAtIHkgKiBT aW56OwotICAgICAgICB0ZGJsZSBkeSA9IHggKiBTaW56ICsgeSAqIENvc3o7CisgICAgICAgIHRk YmxlIGR4ID0geCAtIHkqYXo7IC8vIHgqY29zKGF6KSAtIHkqc2luKGF6KQorICAgICAgICB0ZGJs ZSBkeSA9IHgqYXogKyB5OwogICAgICAgICAgICAgICAgIAogICAgICAgICB0ZGJsZSBkdXggPSAt Y2FyLT5feWF3X3JhdGUgKiB5OwogICAgICAgICB0ZGJsZSBkdXkgPSBjYXItPl95YXdfcmF0ZSAq IHg7CiAgICAgICAgICAgICAgICAgCi0gICAgICAgIGR1eCA9IGR1eCAqIENvc3ogLSBkdXkgKiBT aW56OwotICAgICAgICBkdXkgPSBkdXggKiBTaW56ICsgZHV5ICogQ29zejsKKyAgICAgICAgZHV4 ID0gZHV4IC0gZHV5KmF6OworICAgICAgICBkdXkgPSBkdXgqYXogKyBkdXk7CiAgICAgICAgICAg ICAgICAgCiAgICAgICAgIHdoZWVsW2ldLnVbMF0gPSBjYXItPnB1Yi5EeW5HQ2cudmVsLnggKyBk dXg7CiAgICAgICAgIHdoZWVsW2ldLnVbMV0gPSBjYXItPnB1Yi5EeW5HQ2cudmVsLnkgKyBkdXk7 CiAgICAgICAgIHdoZWVsW2ldLnVbMl0gPSBjYXItPnB1Yi5EeW5HQ2cudmVsLno7CiAgICAgICAg IHdoZWVsW2ldLnBbMF0gPSBjYXItPnB1Yi5EeW5HQ2cucG9zLnggKyBkeDsKICAgICAgICAgd2hl ZWxbaV0ucFsxXSA9IGNhci0+cHViLkR5bkdDZy5wb3MueSArIGR5OwotICAgICAgICB3aGVlbFtp XS5wWzJdID0gY2FyLT5wdWIuRHluR0NnLnBvcy56OworICAgICAgICB3aGVlbFtpXS5wWzJdID0g Y2FyLT5wdWIuRHluR0NnLnBvcy56IC0gMC4zZjsKICAgICB9CiB9CiAKLS0tIHRvcmNzL3NyYy9t b2R1bGVzL2dyYXBoaWMvc3NnZ3JhcGgvZ3Jza2lkbWFya3MuY3BwCTIwMTQtMDItMTAgMDM6MDk6 MzYuMDAwMDAwMDAwIC0wODAwCisrKyB0b3Jjcy9zcmMvbW9kdWxlcy9ncmFwaGljL3NzZ2dyYXBo L2dyc2tpZG1hcmtzLmNwcAkyMDE3LTAyLTI0IDIzOjI4OjIyLjAwMDAwMDAwMCAtMDgwMApAQCAt MTk5LDExICsxOTksNyBAQAogCQkJfQogCQl9CiAKLQkJaWYgKGNhci0+X3NraWRbaV0gPiAwLjFm KSB7Ci0JCQljdXJfY2xyWzNdID0gdGFuaChza2lkX3NlbnNpdGl2aXR5KmNhci0+X3NraWRbaV0p OwotCQl9IGVsc2UgewotCQkJY3VyX2NsclszXSA9IDAuMGY7Ci0JCX0KKwkJY3VyX2NsclszXSA9 IHNraWRfc2Vuc2l0aXZpdHkqY2FyLT5fc2tpZFtpXTsgLy8gbGluZWFyICh0YW5oIHJlbW92ZWQs IHNlZSB3aGVlbC5jcHApCiAKIAkJZm9yIChpbnQgYyA9IDA7IGMgPCAzOyBjKyspIHsKIAkJCXRk YmxlIHRtcCA9IGdyQ2FySW5mb1tjYXItPmluZGV4XS5za2lkbWFya3MtPnN0cmlwc1tpXS5zbW9v dGhfY29sb3VyW2NdOwpAQCAtMjE2LDcgKzIxMiw3IEBACiAJCX0KIAogCQlpZiAoY2FyLT5wdWIu c3BlZWQgPiAxLjBmKSB7Ci0JICAgIAlpZiAoY3VyX2NsclszXSA+IDAuMWYpIHsKKwkgICAgCWlm IChjdXJfY2xyWzNdID4gMC4xZikgeyAvLyAwLjA2IHdvcmtzIGJldHRlciB0aGFuIDAuMSAvLyBz b21ldGhpbmcgaGVyZSBpbXByb3ZlcyB0cmFjdGlvbiA/IQogICAgICAgICAgICAgICAgIAogCQkJ CWJhc2V2dHggPSBuZXcgc3NnVmVydGV4QXJyYXkoNCAqIDIgKyAxKTsKIAkJCQl0ZGJsZSBzbGlu Z19sZWZ0ID0gMC4wZjsKLS0tIHRvcmNzL3NyYy9tb2R1bGVzL3NpbXUvc2ltdXYyL2Nhci5jcHAJ MjAxNy0wMi0xMiAwOTo0NTo1Ny4wMDAwMDAwMDAgLTA4MDAKKysrIHRvcmNzL3NyYy9tb2R1bGVz L3NpbXUvc2ltdXYyL2Nhci5jcHAJMjAxNy0wMi0yNCAyMzoyODoyMi4wMDAwMDAwMDAgLTA4MDAK QEAgLTY0LDcgKzY0LDcgQEAKIAl9CiAJayA9IGsgKiBrOwogCWNhci0+SWludi54ID0gMTIuMCAv IChjYXItPm1hc3MgKiAoY2FyLT5kaW1lbnNpb24ueSAqIGNhci0+ZGltZW5zaW9uLnkgKyBjYXIt PmRpbWVuc2lvbi56ICogY2FyLT5kaW1lbnNpb24ueikpOwotCWNhci0+SWludi55ID0gMTIuMCAv IChjYXItPm1hc3MgKiAoY2FyLT5kaW1lbnNpb24ueCAqIGNhci0+ZGltZW5zaW9uLnggKyBjYXIt PmRpbWVuc2lvbi56ICogY2FyLT5kaW1lbnNpb24ueikpOworCWNhci0+SWludi55ID0gMTIuMCAv IChjYXItPm1hc3MgKiAoayAqIGNhci0+ZGltZW5zaW9uLnggKiBjYXItPmRpbWVuc2lvbi54ICsg Y2FyLT5kaW1lbnNpb24ueiAqIGNhci0+ZGltZW5zaW9uLnopKTsKIAljYXItPklpbnYueiA9IDEy LjAgLyAoY2FyLT5tYXNzICogKGNhci0+ZGltZW5zaW9uLnkgKiBjYXItPmRpbWVuc2lvbi55ICsg ayAqIGNhci0+ZGltZW5zaW9uLnggKiBjYXItPmRpbWVuc2lvbi54KSk7CiAJCiAJLyogY29uZmln dXJlIGNvbXBvbmVudHMgKi8KQEAgLTE0NSwxMCArMTQ1LDcgQEAKIAl0Rm9yY2VzCUY7CiAJaW50 CQlpOwogCXRkYmxlCW0sIHcsIG1pbnY7Ci0JdGRibGUJdiwgUiwgUnYsIFJtLCBSeCwgUnksIFJ6 OwogCi0JY2FyLT5wcmVEeW5HQyA9IGNhci0+RHluR0NnOwotCQogCS8qIHRvdGFsIG1hc3MgKi8K IAltID0gY2FyLT5tYXNzICsgY2FyLT5mdWVsOwogCW1pbnYgPSAxLjAgLyBtOwpAQCAtMjAwLDM0 ICsxOTcsMTAgQEAKIAkJRi5NLnkgLT0gY2FyLT5hZXJvLmxpZnRbaV0gKiAoY2FyLT5heGxlW2ld Lnhwb3MgLSBjYXItPnN0YXRHQy54KTsKIAl9CiAJCQotCS8qIFJvbGxpbmcgUmVzaXN0YW5jZSAq LwotCXYgPSBjYXItPnNwZWVkOwotCVIgPSAwLjBmOwotCWZvciAoaSA9IDA7IGkgPCA0OyBpKysp IHsKLQkJUiArPSBjYXItPndoZWVsW2ldLnJvbGxSZXM7Ci0JfQotCWlmICh2ID4gMC4wMDAwMWYp IHsKLQkJUnYgPSBSIC8gdjsKLQkJaWYgKChSdiAqIG1pbnYgKiBTaW1EZWx0YVRpbWUpID4gdikg ewotCQkJUnYgPSB2ICogbSAvIFNpbURlbHRhVGltZTsKLQkJfQotCX0gZWxzZSB7Ci0JCVJ2ID0g MC4wZjsKLQl9Ci0JUnggPSBSdiAqIGNhci0+RHluR0MudmVsLng7Ci0JUnkgPSBSdiAqIGNhci0+ RHluR0MudmVsLnk7Ci0JUnogPSBSdiAqIGNhci0+RHluR0MudmVsLno7Ci0JCi0JaWYgKChSICog Y2FyLT53aGVlbGJhc2UgLyAyLjAgKiBjYXItPklpbnYueikgPiBmYWJzKGNhci0+RHluR0NnLnZl bC5heikpIHsKLQkJUm0gPSBjYXItPkR5bkdDZy52ZWwuYXogLyBjYXItPklpbnYuejsKLQl9IGVs c2UgewotCQlSbSA9IFNJR04oY2FyLT5EeW5HQ2cudmVsLmF6KSAqIFIgKiBjYXItPndoZWVsYmFz ZSAvIDIuMDsKLQl9Ci0JCiAJLyogY29tcHV0ZSBhY2NlbGVyYXRpb25zICovCi0JY2FyLT5EeW5H Qy5hY2MueCA9IChGLkYueCAtIFJ4KSAqIG1pbnY7Ci0JY2FyLT5EeW5HQy5hY2MueSA9IChGLkYu eSAtIFJ5KSAqIG1pbnY7Ci0JY2FyLT5EeW5HQy5hY2MueiA9IChGLkYueiAtIFJ6KSAqIG1pbnY7 CisJY2FyLT5EeW5HQy5hY2MueCA9IEYuRi54ICogbWludjsKKwljYXItPkR5bkdDLmFjYy55ID0g Ri5GLnkgKiBtaW52OworCWNhci0+RHluR0MuYWNjLnogPSBGLkYueiAqIG1pbnY7CiAJCiAJc2dW ZWMzIGFjY2VsID0ge2Nhci0+RHluR0MuYWNjLngsIGNhci0+RHluR0MuYWNjLnksIGNhci0+RHlu R0MuYWNjLnp9OwogCXNnWGZvcm1WZWMzKGFjY2VsLCBkc3QpOwpAQCAtMjM4LDcgKzIxMSw3IEBA CiAKIAljYXItPkR5bkdDZy5hY2MuYXggPSBjYXItPkR5bkdDLmFjYy5heCA9IEYuTS54ICogY2Fy LT5JaW52Lng7CiAJY2FyLT5EeW5HQ2cuYWNjLmF5ID0gY2FyLT5EeW5HQy5hY2MuYXkgPSBGLk0u eSAqIGNhci0+SWludi55OwotCWNhci0+RHluR0NnLmFjYy5heiA9IGNhci0+RHluR0MuYWNjLmF6 ID0gKEYuTS56IC0gUm0pICogY2FyLT5JaW52Lno7CisJY2FyLT5EeW5HQ2cuYWNjLmF6ID0gY2Fy LT5EeW5HQy5hY2MuYXogKz0gRi5NLnogKiBjYXItPklpbnYuejsgLy8gKz0gc2VlIHRvcmNzL3Ny Yy9tb2R1bGVzL3NpbXUvc2ltdXYyL3NpbXUuY3BwIDo6IFNpbVVwZGF0ZSgpCiB9CiAKIHN0YXRp YyB2b2lkCkBAIC0yNTYsNyArMjI5LDE1IEBACiAJaWYgKGZhYnMoY2FyLT5EeW5HQ2cudmVsLmF6 KSA+IDkuMCkgewogCQljYXItPkR5bkdDZy52ZWwuYXogPSBTSUdOKGNhci0+RHluR0NnLnZlbC5h eikgKiA5LjA7CiAJfQotCQkKKworCS8qIEZJWE1FOiBIYWNrIHRvIHN0b3Agc3RhdGlvbmFyeSBj YXIgZnJvbSByb3RhdGluZyAqLworCWlmICgoCWNhci0+RHluR0NnLnZlbC54KmNhci0+RHluR0Nn LnZlbC54ICsKKwkJY2FyLT5EeW5HQ2cudmVsLnkqY2FyLT5EeW5HQ2cudmVsLnkgKworCQljYXIt PkR5bkdDZy52ZWwueipjYXItPkR5bkdDZy52ZWwueikgPCAwLjAxZiApCisJeworCQljYXItPkR5 bkdDZy52ZWwuYXggPSBjYXItPkR5bkdDZy52ZWwuYXkgPSBjYXItPkR5bkdDZy52ZWwuYXogPSAw LjBmOworCX0KKwogCWNhci0+RHluR0MudmVsLmF4ID0gY2FyLT5EeW5HQ2cudmVsLmF4OwogCWNh ci0+RHluR0MudmVsLmF5ID0gY2FyLT5EeW5HQ2cudmVsLmF5OwogCWNhci0+RHluR0MudmVsLmF6 ID0gY2FyLT5EeW5HQ2cudmVsLmF6OwotLS0gdG9yY3Mvc3JjL21vZHVsZXMvc2ltdS9zaW11djIv c2ltdS5jcHAJMjAxNy0wMi0xOSAwNTowOTowMC4wMDAwMDAwMDAgLTA4MDAKKysrIHRvcmNzL3Ny Yy9tb2R1bGVzL3NpbXUvc2ltdXYyL3NpbXUuY3BwCTIwMTctMDItMjQgMjM6Mjg6MjIuMDAwMDAw MDAwIC0wODAwCkBAIC0zODUsNiArMzg1LDcgQEAKIAkJCQlTaW1BeGxlVXBkYXRlKGNhciwgaSk7 CiAJCQl9CiAJCQlDSEVDSyhjYXIpOworCQkJY2FyLT5EeW5HQy5hY2MuYXogPSAwLjBmOyAvLyBz ZWUgdG9yY3Mvc3JjL21vZHVsZXMvc2ltdS9zaW11djIvd2hlZWwuY3BwIDo6IFNpbVdoZWVsVXBk YXRlRm9yY2UoKQogCQkJZm9yIChpID0gMDsgaSA8IDQ7IGkrKyl7CiAJCQkJU2ltV2hlZWxVcGRh dGVGb3JjZShjYXIsIGkpOwogCQkJCVNpbVdoZWVsVXBkYXRlVGlyZShjYXIsIGkpOwotLS0gdG9y Y3Mvc3JjL21vZHVsZXMvc2ltdS9zaW11djIvc3VzcC5jcHAJMjAxNy0wMS0xNSAwNDo1MjoxNi4w MDAwMDAwMDAgLTA4MDAKKysrIHRvcmNzL3NyYy9tb2R1bGVzL3NpbXUvc2ltdXYyL3N1c3AuY3Bw CTIwMTctMDItMjQgMjM6Mjg6MjIuMDAwMDAwMDAwIC0wODAwCkBAIC0xMDcsOSArMTA3LDkgQEAK IAl9CiAJCiAJc3VzcC0+eCAqPSBzdXNwLT5zcHJpbmcuYmVsbGNyYW5rOwotCWlmIChzdXNwLT54 ID4gc3VzcC0+c3ByaW5nLnhNYXgpIHsKKwlpZiAoc3VzcC0+eCA+PSBzdXNwLT5zcHJpbmcueE1h eCkgeyAvLyBUZXN0ZWQgT0sgd2l0aCAnPj0nIChTRCByNjAyMCkKIAkJc3VzcC0+eCA9IHN1c3At PnNwcmluZy54TWF4OwotCQlzdXNwLT5zdGF0ZSA9IFNJTV9TVVNQX0VYVDsKKwkJc3VzcC0+c3Rh dGUgPSBTSU1fU1VTUF9FWFQ7IC8vIHN1c3AtPnN0YXRlIHVwZGF0ZWQgYWxzbwogCX0KIH0KIAot LS0gdG9yY3Mvc3JjL21vZHVsZXMvc2ltdS9zaW11djIvd2hlZWwuY3BwCTIwMTctMDItMTMgMTU6 NTE6MDcuMDAwMDAwMDAwIC0wODAwCisrKyB0b3Jjcy9zcmMvbW9kdWxlcy9zaW11L3NpbXV2Mi93 aGVlbC5jcHAJMjAxNy0wMy0xMSAxODoxOTo0NC4wMDAwMDAwMDAgLTA4MDAKQEAgLTQ3LDkgKzQ3 LDkgQEAKIAlDYSAgICAgICAgICAgICAgICAgICAgPSBHZlBhcm1HZXROdW0oaGRsZSwgV2hlZWxT ZWN0W2luZGV4XSwgUFJNX0NBLCAoY2hhciopTlVMTCwgMzAuMGYpOwogCVJGYWN0b3IgICAgICAg ICAgICAgICA9IEdmUGFybUdldE51bShoZGxlLCBXaGVlbFNlY3RbaW5kZXhdLCBQUk1fUkZBQ1RP UiwgKGNoYXIqKU5VTEwsIDAuOGYpOwogCUVGYWN0b3IgICAgICAgICAgICAgICA9IEdmUGFybUdl dE51bShoZGxlLCBXaGVlbFNlY3RbaW5kZXhdLCBQUk1fRUZBQ1RPUiwgKGNoYXIqKU5VTEwsIDAu N2YpOwotCXdoZWVsLT5sZk1heCAgICAgICAgICA9IEdmUGFybUdldE51bShoZGxlLCBXaGVlbFNl Y3RbaW5kZXhdLCBQUk1fTE9BREZNQVgsIChjaGFyKilOVUxMLCAxLjZmKTsKLQl3aGVlbC0+bGZN aW4gICAgICAgICAgPSBHZlBhcm1HZXROdW0oaGRsZSwgV2hlZWxTZWN0W2luZGV4XSwgUFJNX0xP QURGTUlOLCAoY2hhciopTlVMTCwgMC44Zik7Ci0Jd2hlZWwtPm9wTG9hZCAgICAgICAgID0gR2ZQ YXJtR2V0TnVtKGhkbGUsIFdoZWVsU2VjdFtpbmRleF0sIFBSTV9PUExPQUQsIChjaGFyKilOVUxM LCB3aGVlbC0+d2VpZ2h0MCAqIDEuMmYpOworCXdoZWVsLT5sZk1heCAgICAgICAgICA9IEdmUGFy bUdldE51bShoZGxlLCBXaGVlbFNlY3RbaW5kZXhdLCBQUk1fTE9BREZNQVgsIChjaGFyKilOVUxM LCAxLjRmKTsKKwl3aGVlbC0+bGZNaW4gICAgICAgICAgPSBHZlBhcm1HZXROdW0oaGRsZSwgV2hl ZWxTZWN0W2luZGV4XSwgUFJNX0xPQURGTUlOLCAoY2hhciopTlVMTCwgMS4wZik7CisJd2hlZWwt Pm9wTG9hZCAgICAgICAgID0gR2ZQYXJtR2V0TnVtKGhkbGUsIFdoZWVsU2VjdFtpbmRleF0sIFBS TV9PUExPQUQsIChjaGFyKilOVUxMLCB3aGVlbC0+d2VpZ2h0MCAqIDEuNjE4Zik7CiAJd2hlZWwt Pm1hc3MgICAgICAgICAgID0gR2ZQYXJtR2V0TnVtKGhkbGUsIFdoZWVsU2VjdFtpbmRleF0sIFBS TV9NQVNTLCAoY2hhciopTlVMTCwgMjAuMGYpOwogCQogCXdoZWVsLT5sZk1pbiA9IE1JTigwLjhm LCB3aGVlbC0+bGZNaW4pOwpAQCAtMjEzLDEyICsyMTMsMTIgQEAKIHsKIAl0V2hlZWwgKndoZWVs ID0gJihjYXItPndoZWVsW2luZGV4XSk7CiAJdGRibGUgYXhsZUZ6ID0gd2hlZWwtPmF4bGVGejsK LQl0ZGJsZSB2dCwgdiwgdjIsIHdybDsgLy8gd2hlZWwgcmVsYXRlZCB2ZWxvY2l0eQorCXRkYmxl IHZ0LCB2biwgdiwgdjIsIHdybCwgc2xpcF9tYWduaXR1ZGUgPSAwLjAwMDAwMGY7IC8vIHdoZWVs IHJlbGF0ZWQgdmVsb2NpdHkKIAl0ZGJsZSBGbiwgRnQ7CiAJdGRibGUgd2F6OwotCXRkYmxlIENv c0EsIFNpbkE7Ci0JdGRibGUgcywgc2EsIHN4LCBzeTsgLy8gc2xpcCB2ZWN0b3IKLQl0ZGJsZSBz dG1wLCBGLCBCeDsKKwlkb3VibGUgQ29zQSwgU2luQTsKKwl0ZGJsZSBzLCBzeCwgc3ksIHNhejsg Ly8gc2xpcCB2ZWN0b3IKKwl0ZGJsZSBGLCBCeDsKIAl0ZGJsZSBtdTsKIAl3aGVlbC0+c3RhdGUg PSAwOwogCkBAIC0yNDgsNDQgKzI0OCw0MSBAQAogCX0KIAogCS8vIEhPUklaT05UQUwgRk9SQ0VT Ci0Jd2F6ID0gd2hlZWwtPnN0ZWVyICsgd2hlZWwtPnN0YXRpY1Bvcy5hejsKKwl3YXogPSB3aGVl bC0+c3RlZXIgKyB3aGVlbC0+c3RhdGljUG9zLmF6IC0gKFNpbURlbHRhVGltZSpjYXItPkR5bkdD LnZlbC5heiAvKiBhY2NvdW50IGZvciB5YXcgaW5kdWNlZCB3aGVlbCBkaXJlY3Rpb24gKi8pOwog CUNvc0EgPSBjb3Mod2F6KTsKIAlTaW5BID0gc2luKHdheik7CiAKIAkvLyB0YW5nZW50IHZlbG9j aXR5LgogCXZ0ID0gd2hlZWwtPmJvZHlWZWwueCAqIENvc0EgKyB3aGVlbC0+Ym9keVZlbC55ICog U2luQTsKKwl2biA9IHdoZWVsLT5ib2R5VmVsLnkgKiBDb3NBIC0gd2hlZWwtPmJvZHlWZWwueCAq IFNpbkE7CiAJdjIgPSB3aGVlbC0+Ym9keVZlbC54ICogd2hlZWwtPmJvZHlWZWwueCArIHdoZWVs LT5ib2R5VmVsLnkgKiB3aGVlbC0+Ym9keVZlbC55OwotCXYgPSBzcXJ0KHYyKTsKLQotCS8vIHNs aXAgYW5nbGUKLQlpZiAodiA8IDAuMDAwMDAxZikgewotCQlzYSA9IDAuMGY7Ci0JfSBlbHNlIHsK LQkJc2EgPSBhdGFuMih3aGVlbC0+Ym9keVZlbC55LCB3aGVlbC0+Ym9keVZlbC54KSAtIHdhejsK LQl9Ci0JTk9STV9QSV9QSShzYSk7CisJdiA9IHNxcnRmKHYyKTsKIAogCXdybCA9IHdoZWVsLT5z cGluVmVsICogd2hlZWwtPnJhZGl1czsKKwogCWlmICgod2hlZWwtPnN0YXRlICYgU0lNX1dIX09O QUlSKSAhPSAwKSB7Ci0JCXN4ID0gc3kgPSAwLjBmOwotCX0gZWxzZSBpZiAodiA8IDAuMDAwMDAx ZikgewotCQlzeCA9IHdybDsKLQkJc3kgPSAwLjBmOworCQlzeCA9IHN5ID0gc2F6ID0gMC4wZjsK IAl9IGVsc2UgewotCQlzeCA9ICh2dCAtIHdybCkgLyBmYWJzKHZ0KTsKLQkJc3kgPSBzaW4oc2Ep OworCQkvLyBDT01CSU5FRCBMT05HSVRVRElOQUwsIExBVEVSQUwsIGFuZCBZQVdJTkcgVElSRSBT TElQIEZPUkNFUzoKKwkJLy8gTm9ybWFsaXplIHRoZSBmcmljdGlvbiBjaXJjbGUgdG8gZ2V0IG5v cm1hbGl6ZWQgdmVjdG9yIGNvbXBvbmVudHMgKHN4LCBzeSkgd2hpbGUKKwkJLy8gYnJha2luZyAo dnQpLCBhY2NlbGVyYXRpbmcgKHdybCksIG9yIHdoZWVsIGNvdW50ZXIgc3BpbiAodnQgLSB3cmwp IGZvciBhbnkgYW5nbGUuCisJCS8vIHNheiBzbGlwIHNwZWVkIGFjY291bnRzIGZvciByb3RhdGlu ZyB0aGUgY29udGFjdCBwYXRjaCAoeWF3KS4gKiBhZGQgc3RlZXJpbmcgc3BlZWQgYW5kIHNlbGYg YWxpZ25pbmcgdG9ycXVlLgorCQlzYXogPSAoMS4xZiozLjE0MTZmKSAqIGNhci0+RHluR0MudmVs LmF6ICogY2FyLT5jYXJFbHQtPl90aXJlV2lkdGgoaW5kZXgpOyAvLyB5YXcgc2xpcCBzcGVlZC4K KwkJc2xpcF9tYWduaXR1ZGUgPSAwLjAwMDAwMWYgKyAvKiBTb2Z0ZW5pbmcgZmFjdG9yIDAuMDAw MDAxIHByZXZlbnRzIGRpdmlkZSBieSB6ZXJvICovCisJCQkJc3FydCggTUFYKE1BWCgodjIgKyBz YXoqc2F6KSwgKHZuKnZuICsgd3JsKndybCArIHNheipzYXopKSwgKHZuKnZuICsgKHZ0IC0gd3Js KSoodnQgLSB3cmwpICsgc2F6KnNheikpICk7CisJCXN4ID0gKHZ0IC0gd3JsKSAvIHNsaXBfbWFn bml0dWRlOworCQlzeSA9IHZuIC8gc2xpcF9tYWduaXR1ZGU7CisJCXNheiAvPSBzbGlwX21hZ25p dHVkZTsKIAl9Ci0JCi0JRnQgPSAwLjBmOwotCUZuID0gMC4wZjsKLQlzID0gc3FydChzeCpzeCtz eSpzeSk7CisKKwlzID0gc3FydGYoc3gqc3grc3kqc3krc2F6KnNheik7CiAKIAl7Ci0JCS8vIGNh bGN1bGF0ZSBfc2tpZCBhbmQgX3JlYWN0aW9uIGZvciBzb3VuZC4KLQkJaWYgKHYgPCAyLjBmKSB7 CisJCS8vIGNhbGN1bGF0ZSBfc2tpZCBhbmQgX3JlYWN0aW9uIGZvciBzb3VuZCAoc3VzcGljaW91 c2x5OyBhZmZlY3RzIHRyYWN0aW9uIGFsc28pLgorCQlpZiAoKHYgPCAwLjAxZikgfHwgKHpmb3Jj ZSA8IDAuMDAyZikpIHsKIAkJCWNhci0+Y2FyRWx0LT5fc2tpZFtpbmRleF0gPSAwLjBmOwogCQl9 IGVsc2UgewotCQkJY2FyLT5jYXJFbHQtPl9za2lkW2luZGV4XSA9ICBNSU4oMS4wZiwgKHMqemZv cmNlKjAuMDAwMmYpKTsKKwkJCWNhci0+Y2FyRWx0LT5fc2tpZFtpbmRleF0gPSBzOyAvLyBsaW5l YXIgKHRhbmggcmVtb3ZlZCBpbiBncnNraWRtYXJrcy5jcHApCiAJCX0KIAl9CiAKQEAgLTI5OSw0 NyArMjk2LDQ4IEBACiAJCWNhbWJlckRlbHRhID0gY2FzdGVyQ2FtYmVyOwogCX0KIAotCXN0bXAg PSBNSU4ocywgMS41Zik7Ci0JCi0JLy8gTUFHSUMgRk9STVVMQQotCUJ4ID0gd2hlZWwtPm1mQiAq IHN0bXA7Ci0JRiA9IHNpbih3aGVlbC0+bWZDICogYXRhbihCeCAqICgxLjBmIC0gd2hlZWwtPm1m RSkgKyB3aGVlbC0+bWZFICogYXRhbihCeCkpKSAqICgxLjBmICsgc3RtcCAqIHNpbVNraWRGYWN0 b3JbY2FyLT5jYXJFbHQtPl9za2lsbExldmVsXSk7CisJLy8gTUFHSUMgRk9STVVMQSAvLyBOb3Rl OiBGID0gc2luKC4uLikgYmVsb3cgcmV0dXJucyBub3JtYWxpemVkIGZvcmNlIQorCUJ4ID0gd2hl ZWwtPm1mQiAqIHM7CisJRiA9IHNpbih3aGVlbC0+bWZDICogYXRhbihCeCAqICgxLjBmIC0gd2hl ZWwtPm1mRSkgKyB3aGVlbC0+bWZFICogYXRhbihCeCkpKSAqICgxLjBmICsgcyAqIHNpbVNraWRG YWN0b3JbY2FyLT5jYXJFbHQtPl9za2lsbExldmVsXSk7CiAKIAkvLyBsb2FkIHNlbnNpdGl2aXR5 CiAJbXUgPSB3aGVlbC0+bXUgKiAod2hlZWwtPmxmTWluICsgKHdoZWVsLT5sZk1heCAtIHdoZWVs LT5sZk1pbikgKiBleHAod2hlZWwtPmxmSyAqIHpmb3JjZSAvIHdoZWVsLT5vcExvYWQpKTsKIAog CUYgKj0gemZvcmNlICogbXUgKiB3aGVlbC0+dHJrUG9zLnNlZy0+c3VyZmFjZS0+a0ZyaWN0aW9u ICogKDEuMGYgKyAwLjA1ZiAqIHNpbigoLXdoZWVsLT5zdGF0aWNQb3MuYXggKyBjYW1iZXJEZWx0 YSkgKiAxOC4wZikpOwkvKiBjb2VmZiAqLwogCUYgKj0gd2hlZWwtPmN1cnJlbnRHcmlwRmFjdG9y OwotCQorCiAJd2hlZWwtPnJvbGxSZXMgPSB6Zm9yY2UgKiB3aGVlbC0+dHJrUG9zLnNlZy0+c3Vy ZmFjZS0+a1JvbGxSZXM7Ci0gICAgY2FyLT5jYXJFbHQtPnByaXYud2hlZWxbaW5kZXhdLnJvbGxS ZXMgPSB3aGVlbC0+cm9sbFJlczsKKwkvLyB3aGVlbCBheGlzIGJhc2VkCisJcyArPSAwLjAwMDAw MWY7IC8vIGFkZCAwLjAwMDAwMSB0byBhdm9pZCBkaXZpZGUgYnkgemVybyBsYXRlci4KKwlGdCA9 IC0oRiAtIHdoZWVsLT5yb2xsUmVzKSAqIHN4L3M7IC8vIHJvbGxpbmcgcmVzaXN0YW5jZSBpcyB0 aGUgcm9sbGluZyB2ZWN0b3IgY29tcG9uZW50IG9ubHkuCisJRm4gPSAtRiAqIHN5L3M7CiAKLQlp ZiAocyA+IDAuMDAwMDAxZikgewotCQkvLyB3aGVlbCBheGlzIGJhc2VkCi0JCUZ0IC09IEYgKiBz eCAvIHM7Ci0JCUZuIC09IEYgKiBzeSAvIHM7Ci0JfQorCWNhci0+RHluR0MuYWNjLmF6ICs9IC1G ICogc2F6L3MgKiBTaW1EZWx0YVRpbWUgKiBjYXItPklpbnYuejsgLy8gc2VlIHRvcmNzL3NyYy9t b2R1bGVzL3NpbXUvc2ltdXYyL3NpbXUuY3BwIDo6IFNpbVVwZGF0ZSgpCiAKLQlSRUxBWEFUSU9O MihGbiwgd2hlZWwtPnByZUZuLCA1MC4wZik7Ci0JUkVMQVhBVElPTjIoRnQsIHdoZWVsLT5wcmVG dCwgNTAuMGYpOworCXdoZWVsLT5yb2xsUmVzICo9IGZhYnNmKHN4L3MpOyAvLyBub3QgdXNlZCAo cmVtb3ZlZCBmcm9tIC9zcmMvbW9kdWxlcy9zaW11L3NpbXV2Mi9jYXIuY3BwKQorCWNhci0+Y2Fy RWx0LT5wcml2LndoZWVsW2luZGV4XS5yb2xsUmVzID0gd2hlZWwtPnJvbGxSZXM7IC8vIG5vdCB1 c2VkIGluIC9zcmMvbW9kdWxlcy9ncmFwaGljL3NzZ2dyYXBoL0NhclNvdW5kRGF0YS5jcHAKKwor CXdheiA9IHdoZWVsLT5zdGVlciArIHdoZWVsLT5zdGF0aWNQb3MuYXo7IC8qIGRvbid0IGluY2x1 ZGUgeWF3IGluZHVjZWQgd2hlZWwgZGlyZWN0aW9uIGhlcmUgKi8KKwlDb3NBID0gY29zKHdheik7 CisJU2luQSA9IHNpbih3YXopOwogCiAJd2hlZWwtPnJlbFBvcy5heiA9IHdhejsKIAkKLQl3aGVl bC0+Zm9yY2VzLnggPSBGdCAqIENvc0EgLSBGbiAqIFNpbkE7CisJd2hlZWwtPmZvcmNlcy54ID0g RnQgKiBDb3NBIC0gRm4gKiBTaW5BOyAvLyBSb2xsaW5nIHJlc2lzdGFuY2UgaW4gRnQKIAl3aGVl bC0+Zm9yY2VzLnkgPSBGdCAqIFNpbkEgKyBGbiAqIENvc0E7Ci0Jd2hlZWwtPnNwaW5UcSA9IEZ0 ICogd2hlZWwtPnJhZGl1czsKLQl3aGVlbC0+c2EgPSBzYTsKKwl3aGVlbC0+c3BpblRxID0gLUYg KiBzeC9zICogd2hlZWwtPnJhZGl1czsgLy8gc3BpblRxIGlzIGF4bGUgdG9ycXVlLCB0aHVzIG5v IHJvbGxpbmcgcmVzaXN0YW5jZQorCXdoZWVsLT5zYSA9IGF0YW4yKHdoZWVsLT5ib2R5VmVsLnks IHdoZWVsLT5ib2R5VmVsLngpIC0gd2F6OwogCXdoZWVsLT5zeCA9IHN4OwogCiAJd2hlZWwtPnRp cmVaRm9yY2UgPSB6Zm9yY2U7Ci0Jd2hlZWwtPnRpcmVTbGlwID0gc3RtcDsKKwl3aGVlbC0+dGly ZVNsaXAgPSBzOwogCiAJd2hlZWwtPmZlZWRCYWNrLnNwaW5WZWwgPSB3aGVlbC0+c3BpblZlbDsK IAl3aGVlbC0+ZmVlZEJhY2suVHEgPSB3aGVlbC0+c3BpblRxOwogCXdoZWVsLT5mZWVkQmFjay5i cmtUcSA9IHdoZWVsLT5icmFrZS5UcTsKIAotCWNhci0+Y2FyRWx0LT5fd2hlZWxTbGlwU2lkZShp bmRleCkgPSBzeSp2OwotCWNhci0+Y2FyRWx0LT5fd2hlZWxTbGlwQWNjZWwoaW5kZXgpID0gc3gq djsKKwljYXItPmNhckVsdC0+X3doZWVsU2xpcFNpZGUoaW5kZXgpID0gdm4qKDEuMGYtc3kpOyAv LyB3aGVlbCBub3JtYWwgYWRoZXNpb24gdmVsb2NpdHkKKwljYXItPmNhckVsdC0+X3doZWVsU2xp cEFjY2VsKGluZGV4KSA9IHZ0KigxLjBmLXN4KTsgLy8gd2hlZWwgdGFuZ2VudCBhZGhlc2lvbiB2 ZWxvY2l0eQogCWNhci0+Y2FyRWx0LT5fcmVhY3Rpb25baW5kZXhdID0gemZvcmNlOwogfQogCkBA IC0zNTQsOCArMzUyLDYgQEAKIAkJd2hlZWwgPSAmKGNhci0+d2hlZWxbaV0pOwogCQl3aGVlbC0+ c3BpblZlbCA9IHdoZWVsLT5pbi5zcGluVmVsOwogCi0JCVJFTEFYQVRJT04yKHdoZWVsLT5zcGlu VmVsLCB3aGVlbC0+cHJlc3BpblZlbCwgNTAuMGYpOwotCiAJCXdoZWVsLT5yZWxQb3MuYXkgKz0g d2hlZWwtPnNwaW5WZWwgKiBTaW1EZWx0YVRpbWU7CiAJCU5PUk1fUElfUEkod2hlZWwtPnJlbFBv cy5heSk7CiAJCWNhci0+Y2FyRWx0LT5fd2hlZWxTcGluVmVsKGkpID0gd2hlZWwtPnNwaW5WZWw7 Cg== ------=_Part_71222784_1526971510.1489294115335 Content-Type: text/x-patch; name=torcs-1.3.7.contact.5.patch Content-Disposition: attachment; filename=torcs-1.3.7.contact.5.patch Content-Transfer-Encoding: base64 LS0tIHRvcmNzLTEuMy43L3NyYy9tb2R1bGVzL2dyYXBoaWMvc3NnZ3JhcGgvQ2FyU291bmREYXRh LmNwcAkyMDE0LTAyLTEwIDAzOjE2OjE4LjAwMDAwMDAwMCAtMDgwMAorKysgdG9yY3MtMS4zLjcv c3JjL21vZHVsZXMvZ3JhcGhpYy9zc2dncmFwaC9DYXJTb3VuZERhdGEuY3BwCTIwMTctMDMtMDIg MTM6Mzc6NTUuMzMzNTgzMTY4IC0wODAwCkBAIC0zMTUsMjkgKzMxNSwzMCBAQAogCiAgICAgfQog CisvLyBDYWxjdWxhdGUgcm9hZC10aXJlIGNvbnRhY3Qgbm9pc2UgcG9zaXRpb25zIHdpdGggYW4g ZWZmaWNpZW50IGZvcm11bGEuCisvLyBub3RlIHRoYXQgc2luKGF6KSBpcyBuZWFybHkgZXF1YWwg dG8gYXogW2luIHJhZGlhbnNdLgorLy8gbm90ZSB0aGF0IGNvcyhheikgaXMgY2xvc2UgdG8gMS4w IGZvciBtb2RlcmF0ZSB5YXcgYW5nbGVzLgorLy8gbm90ZSB0aGF0IHRoZSBjb250YWN0IHBhdGNo IGlzIGJlbmVhdGggR0MgKGFwcHJveCAtMC4zIG1ldHJlcykuCisgICAgdGRibGUgYXogPSBjYXIt Pl95YXc7CiAgICAgZm9yIChpID0gMDsgaTw0OyBpKyspIHsKLSAgICAgICAgdGRibGUgYXogPSBj YXItPl95YXc7Ci0gICAgICAgIHRkYmxlIFNpbnogPSBzaW4oYXopOwotICAgICAgICB0ZGJsZSBD b3N6ID0gY29zKGF6KTsKLSAgICAgICAgICAgICAgICAKICAgICAgICAgdGRibGUgeCA9IGNhci0+ cHJpdi53aGVlbFtpXS5yZWxQb3MueDsKICAgICAgICAgdGRibGUgeSA9IGNhci0+cHJpdi53aGVl bFtpXS5yZWxQb3MueTsKICAgICAgICAgICAgICAgICAKLSAgICAgICAgdGRibGUgZHggPSB4ICog Q29zeiAtIHkgKiBTaW56OwotICAgICAgICB0ZGJsZSBkeSA9IHggKiBTaW56ICsgeSAqIENvc3o7 CisgICAgICAgIHRkYmxlIGR4ID0geCAtIHkqYXo7IC8vIHgqY29zKGF6KSAtIHkqc2luKGF6KQor ICAgICAgICB0ZGJsZSBkeSA9IHgqYXogKyB5OwogICAgICAgICAgICAgICAgIAogICAgICAgICB0 ZGJsZSBkdXggPSAtY2FyLT5feWF3X3JhdGUgKiB5OwogICAgICAgICB0ZGJsZSBkdXkgPSBjYXIt Pl95YXdfcmF0ZSAqIHg7CiAgICAgICAgICAgICAgICAgCi0gICAgICAgIGR1eCA9IGR1eCAqIENv c3ogLSBkdXkgKiBTaW56OwotICAgICAgICBkdXkgPSBkdXggKiBTaW56ICsgZHV5ICogQ29zejsK KyAgICAgICAgZHV4ID0gZHV4IC0gZHV5KmF6OworICAgICAgICBkdXkgPSBkdXgqYXogKyBkdXk7 CiAgICAgICAgICAgICAgICAgCiAgICAgICAgIHdoZWVsW2ldLnVbMF0gPSBjYXItPnB1Yi5EeW5H Q2cudmVsLnggKyBkdXg7CiAgICAgICAgIHdoZWVsW2ldLnVbMV0gPSBjYXItPnB1Yi5EeW5HQ2cu dmVsLnkgKyBkdXk7CiAgICAgICAgIHdoZWVsW2ldLnVbMl0gPSBjYXItPnB1Yi5EeW5HQ2cudmVs Lno7CiAgICAgICAgIHdoZWVsW2ldLnBbMF0gPSBjYXItPnB1Yi5EeW5HQ2cucG9zLnggKyBkeDsK ICAgICAgICAgd2hlZWxbaV0ucFsxXSA9IGNhci0+cHViLkR5bkdDZy5wb3MueSArIGR5OwotICAg ICAgICB3aGVlbFtpXS5wWzJdID0gY2FyLT5wdWIuRHluR0NnLnBvcy56OworICAgICAgICB3aGVl bFtpXS5wWzJdID0gY2FyLT5wdWIuRHluR0NnLnBvcy56IC0gMC4zZjsKICAgICB9CiB9CiAKLS0t IHRvcmNzLTEuMy43L3NyYy9tb2R1bGVzL2dyYXBoaWMvc3NnZ3JhcGgvZ3Jza2lkbWFya3MuY3Bw CTIwMTQtMDItMTAgMDM6MDk6MzYuMDAwMDAwMDAwIC0wODAwCisrKyB0b3Jjcy0xLjMuNy9zcmMv bW9kdWxlcy9ncmFwaGljL3NzZ2dyYXBoL2dyc2tpZG1hcmtzLmNwcAkyMDE3LTAzLTAyIDEzOjM3 OjU1LjMzNDU4MzI4MyAtMDgwMApAQCAtMTk5LDExICsxOTksNyBAQAogCQkJfQogCQl9CiAKLQkJ aWYgKGNhci0+X3NraWRbaV0gPiAwLjFmKSB7Ci0JCQljdXJfY2xyWzNdID0gdGFuaChza2lkX3Nl bnNpdGl2aXR5KmNhci0+X3NraWRbaV0pOwotCQl9IGVsc2UgewotCQkJY3VyX2NsclszXSA9IDAu MGY7Ci0JCX0KKwkJY3VyX2NsclszXSA9IHNraWRfc2Vuc2l0aXZpdHkqY2FyLT5fc2tpZFtpXTsg Ly8gbGluZWFyICh0YW5oIHJlbW92ZWQsIHNlZSB3aGVlbC5jcHApCiAKIAkJZm9yIChpbnQgYyA9 IDA7IGMgPCAzOyBjKyspIHsKIAkJCXRkYmxlIHRtcCA9IGdyQ2FySW5mb1tjYXItPmluZGV4XS5z a2lkbWFya3MtPnN0cmlwc1tpXS5zbW9vdGhfY29sb3VyW2NdOwpAQCAtMjE2LDcgKzIxMiw3IEBA CiAJCX0KIAogCQlpZiAoY2FyLT5wdWIuc3BlZWQgPiAxLjBmKSB7Ci0JICAgIAlpZiAoY3VyX2Ns clszXSA+IDAuMWYpIHsKKwkgICAgCWlmIChjdXJfY2xyWzNdID4gMC4xZikgeyAvLyAwLjA2IHdv cmtzIGJldHRlciB0aGFuIDAuMSAvLyBzb21ldGhpbmcgaGVyZSBpbXByb3ZlcyB0cmFjdGlvbiA/ IQogICAgICAgICAgICAgICAgIAogCQkJCWJhc2V2dHggPSBuZXcgc3NnVmVydGV4QXJyYXkoNCAq IDIgKyAxKTsKIAkJCQl0ZGJsZSBzbGluZ19sZWZ0ID0gMC4wZjsKLS0tIHRvcmNzLTEuMy43L3Ny Yy9tb2R1bGVzL3NpbXUvc2ltdXYyL2Nhci5jcHAJMjAxNi0wNS0xNiAxNTo1MzowNy4wMDAwMDAw MDAgLTA3MDAKKysrIHRvcmNzLTEuMy43L3NyYy9tb2R1bGVzL3NpbXUvc2ltdXYyL2Nhci5jcHAJ MjAxNy0wMy0wMiAxMzozNzo1NS4zMzY1ODM1MDIgLTA4MDAKQEAgLTY0LDcgKzY0LDcgQEAKIAl9 CiAJayA9IGsgKiBrOwogCWNhci0+SWludi54ID0gMTIuMCAvIChjYXItPm1hc3MgKiAoY2FyLT5k aW1lbnNpb24ueSAqIGNhci0+ZGltZW5zaW9uLnkgKyBjYXItPmRpbWVuc2lvbi56ICogY2FyLT5k aW1lbnNpb24ueikpOwotCWNhci0+SWludi55ID0gMTIuMCAvIChjYXItPm1hc3MgKiAoY2FyLT5k aW1lbnNpb24ueCAqIGNhci0+ZGltZW5zaW9uLnggKyBjYXItPmRpbWVuc2lvbi56ICogY2FyLT5k aW1lbnNpb24ueikpOworCWNhci0+SWludi55ID0gMTIuMCAvIChjYXItPm1hc3MgKiAoayAqIGNh ci0+ZGltZW5zaW9uLnggKiBjYXItPmRpbWVuc2lvbi54ICsgY2FyLT5kaW1lbnNpb24ueiAqIGNh ci0+ZGltZW5zaW9uLnopKTsKIAljYXItPklpbnYueiA9IDEyLjAgLyAoY2FyLT5tYXNzICogKGNh ci0+ZGltZW5zaW9uLnkgKiBjYXItPmRpbWVuc2lvbi55ICsgayAqIGNhci0+ZGltZW5zaW9uLngg KiBjYXItPmRpbWVuc2lvbi54KSk7CiAJCiAJLyogY29uZmlndXJlIGNvbXBvbmVudHMgKi8KQEAg LTE0Niw3ICsxNDYsNiBAQAogCXRkYmxlCW0sIHcsIG1pbnY7CiAJdGRibGUJU2luVGhldGE7CiAJ dGRibGUJQ29zeiwgU2luejsKLQl0ZGJsZQl2LCBSLCBSdiwgUm0sIFJ4LCBSeTsKIAkKIAlDb3N6 ID0gY2FyLT5Db3N6ID0gY29zKGNhci0+RHluR0NnLnBvcy5heik7CiAJU2lueiA9IGNhci0+U2lu eiA9IHNpbihjYXItPkR5bkdDZy5wb3MuYXopOwpAQCAtMTk5LDQxICsxOTgsMTggQEAKIAkJRi5N LnkgLT0gY2FyLT5hZXJvLmxpZnRbaV0gKiAoY2FyLT5heGxlW2ldLnhwb3MgLSBjYXItPnN0YXRH Qy54KTsKIAl9CiAJCi0JLyogUm9sbGluZyBSZXNpc3RhbmNlICovCi0JdiA9IHNxcnQoY2FyLT5E eW5HQ2cudmVsLnggKiBjYXItPkR5bkdDZy52ZWwueCArIGNhci0+RHluR0NnLnZlbC55ICogY2Fy LT5EeW5HQ2cudmVsLnkpOwotCVIgPSAwOwotCWZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKLQkJ UiArPSBjYXItPndoZWVsW2ldLnJvbGxSZXM7Ci0JfQotCWlmICh2ID4gMC4wMDAwMSkgewotCQlS diA9IFIgLyB2OwotCQlpZiAoKFJ2ICogbWludiAqIFNpbURlbHRhVGltZSkgPiB2KSB7Ci0JCQlS diA9IHYgKiBtIC8gU2ltRGVsdGFUaW1lOwotCQl9Ci0JfSBlbHNlIHsKLQkJUnYgPSAwOwotCX0K LQlSeCA9IFJ2ICogY2FyLT5EeW5HQ2cudmVsLng7Ci0JUnkgPSBSdiAqIGNhci0+RHluR0NnLnZl bC55OwotCQotCWlmICgoUiAqIGNhci0+d2hlZWxiYXNlIC8gMi4wICogY2FyLT5JaW52LnopID4g ZmFicyhjYXItPkR5bkdDZy52ZWwuYXopKSB7Ci0JCVJtID0gY2FyLT5EeW5HQ2cudmVsLmF6IC8g Y2FyLT5JaW52Lno7Ci0JfSBlbHNlIHsKLQkJUm0gPSBTSUdOKGNhci0+RHluR0NnLnZlbC5heikg KiBSICogY2FyLT53aGVlbGJhc2UgLyAyLjA7Ci0JfQotCQogCS8qIGNvbXB1dGUgYWNjZWxlcmF0 aW9ucyAqLwogCWNhci0+RHluR0MuYWNjLnggPSBGLkYueCAqIG1pbnY7CiAJY2FyLT5EeW5HQy5h Y2MueSA9IEYuRi55ICogbWludjsKIAljYXItPkR5bkdDLmFjYy56ID0gRi5GLnogKiBtaW52Owog CQotCWNhci0+RHluR0NnLmFjYy54ID0gKEYuRi54ICogQ29zeiAtIEYuRi55ICogU2lueiAtIFJ4 KSAqIG1pbnY7Ci0JY2FyLT5EeW5HQ2cuYWNjLnkgPSAoRi5GLnggKiBTaW56ICsgRi5GLnkgKiBD b3N6IC0gUnkpICogbWludjsKKwljYXItPkR5bkdDZy5hY2MueCA9IChGLkYueCAqIENvc3ogLSBG LkYueSAqIFNpbnopICogbWludjsKKwljYXItPkR5bkdDZy5hY2MueSA9IChGLkYueCAqIFNpbnog KyBGLkYueSAqIENvc3opICogbWludjsKIAljYXItPkR5bkdDZy5hY2MueiA9IGNhci0+RHluR0Mu YWNjLno7CiAJCiAJY2FyLT5EeW5HQ2cuYWNjLmF4ID0gY2FyLT5EeW5HQy5hY2MuYXggPSBGLk0u eCAqIGNhci0+SWludi54OwogCWNhci0+RHluR0NnLmFjYy5heSA9IGNhci0+RHluR0MuYWNjLmF5 ID0gRi5NLnkgKiBjYXItPklpbnYueTsKLQljYXItPkR5bkdDZy5hY2MuYXogPSBjYXItPkR5bkdD LmFjYy5heiA9IChGLk0ueiAtIFJtKSAqIGNhci0+SWludi56OworCWNhci0+RHluR0NnLmFjYy5h eiA9IGNhci0+RHluR0MuYWNjLmF6ICs9IEYuTS56ICogY2FyLT5JaW52Lno7IC8vICs9IHNlZSB0 b3Jjcy9zcmMvbW9kdWxlcy9zaW11L3NpbXV2Mi9zaW11LmNwcCA6OiBTaW1VcGRhdGUoKSAKIH0K IAogc3RhdGljIHZvaWQKQEAgLTI1Niw3ICsyMzIsMTUgQEAKIAlpZiAoZmFicyhjYXItPkR5bkdD Zy52ZWwuYXopID4gOS4wKSB7CiAJCWNhci0+RHluR0NnLnZlbC5heiA9IFNJR04oY2FyLT5EeW5H Q2cudmVsLmF6KSAqIDkuMDsKIAl9Ci0JCQorCQorCS8qIEZJWE1FOiBIYWNrIHRvIHN0b3Agc3Rh dGlvbmFyeSBjYXIgZnJvbSByb3RhdGluZyAqLworCWlmICgoCWNhci0+RHluR0NnLnZlbC54KmNh ci0+RHluR0NnLnZlbC54ICsKKwkJY2FyLT5EeW5HQ2cudmVsLnkqY2FyLT5EeW5HQ2cudmVsLnkg KworCQljYXItPkR5bkdDZy52ZWwueipjYXItPkR5bkdDZy52ZWwueikgPCAwLjAxZiApCisJewor CQljYXItPkR5bkdDZy52ZWwuYXggPSBjYXItPkR5bkdDZy52ZWwuYXkgPSBjYXItPkR5bkdDZy52 ZWwuYXogPSAwLjBmOworCX0KKwkKIAljYXItPkR5bkdDLnZlbC5heCA9IGNhci0+RHluR0NnLnZl bC5heDsKIAljYXItPkR5bkdDLnZlbC5heSA9IGNhci0+RHluR0NnLnZlbC5heTsKIAljYXItPkR5 bkdDLnZlbC5heiA9IGNhci0+RHluR0NnLnZlbC5hejsKLS0tIHRvcmNzLTEuMy43L3NyYy9tb2R1 bGVzL3NpbXUvc2ltdXYyL2NvbGxpZGUuY3BwCTIwMTQtMDQtMTIgMDY6NTU6MjkuMDAwMDAwMDAw IC0wNzAwCisrKyB0b3Jjcy0xLjMuNy9zcmMvbW9kdWxlcy9zaW11L3NpbXV2Mi9jb2xsaWRlLmNw cAkyMDE3LTAzLTAyIDEzOjM3OjU1LjMzNzU4MzYwNiAtMDgwMApAQCAtMzcsNyArMzcsNyBAQAog CWZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKIAkJd2hlZWwgPSAmKGNhci0+d2hlZWxbaV0pOwog CQlpZiAod2hlZWwtPnN0YXRlICYgU0lNX1NVU1BfQ09NUCkgewotCQkJY2FyLT5EeW5HQ2cucG9z LnogKz0gd2hlZWwtPnN1c3Auc3ByaW5nLnBhY2tlcnMgLSB3aGVlbC0+cmlkZUhlaWdodDsKKwkJ CWNhci0+RHluR0NnLnBvcy56ICs9IDAuMjVmKih3aGVlbC0+c3VzcC5zcHJpbmcucGFja2VycyAt IHdoZWVsLT5yaWRlSGVpZ2h0KTsgLy8gbGV2ZXJhZ2Ugb2YgNCB3aGVlbHMKIAkJCVJ0VHJhY2tT dXJmYWNlTm9ybWFsTCgmKHdoZWVsLT50cmtQb3MpLCAmbm9ybWFsKTsKIAkJCWRvdFByb2QgPSAo Y2FyLT5EeW5HQ2cudmVsLnggKiBub3JtYWwueCArIGNhci0+RHluR0NnLnZlbC55ICogbm9ybWFs LnkgKyBjYXItPkR5bkdDZy52ZWwueiAqIG5vcm1hbC56KSAqIHdoZWVsLT50cmtQb3Muc2VnLT5z dXJmYWNlLT5rUmVib3VuZDsKIAkJCWlmIChkb3RQcm9kIDwgMC4wZikgewotLS0gdG9yY3MtMS4z Ljcvc3JjL21vZHVsZXMvc2ltdS9zaW11djIvc2ltdS5jcHAJMjAxNi0xMC0xNCAyMTo1MDoxMS4w MDAwMDAwMDAgLTA3MDAKKysrIHRvcmNzLTEuMy43L3NyYy9tb2R1bGVzL3NpbXUvc2ltdXYyL3Np bXUuY3BwCTIwMTctMDMtMDIgMTM6Mzc6NTUuMzM4NTgzNzA3IC0wODAwCkBAIC0zODAsNiArMzgw LDcgQEAKIAkJCQlTaW1BeGxlVXBkYXRlKGNhciwgaSk7CiAJCQl9CiAJCQlDSEVDSyhjYXIpOwor CQkJY2FyLT5EeW5HQy5hY2MuYXogPSAwLjBmOyAvLyBzZWUgdG9yY3Mvc3JjL21vZHVsZXMvc2lt dS9zaW11djIvd2hlZWwuY3BwIDo6IFNpbVdoZWVsVXBkYXRlRm9yY2UoKQogCQkJZm9yIChpID0g MDsgaSA8IDQ7IGkrKyl7CiAJCQkJU2ltV2hlZWxVcGRhdGVGb3JjZShjYXIsIGkpOwogCQkJfQot LS0gdG9yY3MtMS4zLjcvc3JjL21vZHVsZXMvc2ltdS9zaW11djIvc3VzcC5jcHAJMjAxNi0wMy0x OSAwNzo0NzowNS4wMDAwMDAwMDAgLTA3MDAKKysrIHRvcmNzLTEuMy43L3NyYy9tb2R1bGVzL3Np bXUvc2ltdXYyL3N1c3AuY3BwCTIwMTctMDMtMDIgMTM6Mzc6NTUuMzM5NTgzODA0IC0wODAwCkBA IC0xMDcsOSArMTA3LDkgQEAKIAl9CiAJCiAJc3VzcC0+eCAqPSBzdXNwLT5zcHJpbmcuYmVsbGNy YW5rOwotCWlmIChzdXNwLT54ID4gc3VzcC0+c3ByaW5nLnhNYXgpIHsKKwlpZiAoc3VzcC0+eCA+ PSBzdXNwLT5zcHJpbmcueE1heCkgeyAvLyBUZXN0ZWQgT0sgd2l0aCAnPj0nIChTRCByNjAyMCkK IAkJc3VzcC0+eCA9IHN1c3AtPnNwcmluZy54TWF4OwotCQlzdXNwLT5zdGF0ZSA9IFNJTV9TVVNQ X0VYVDsKKwkJc3VzcC0+c3RhdGUgPSBTSU1fU1VTUF9FWFQ7IC8vIHN1c3AtPnN0YXRlIHVwZGF0 ZWQgYWxzbwogCX0KIH0KIAotLS0gdG9yY3MtMS4zLjcvc3JjL21vZHVsZXMvc2ltdS9zaW11djIv d2hlZWwuY3BwCTIwMTYtMDUtMTYgMTU6NTM6MDcuMDAwMDAwMDAwIC0wNzAwCisrKyB0b3Jjcy0x LjMuNy9zcmMvbW9kdWxlcy9zaW11L3NpbXV2Mi93aGVlbC5jcHAJMjAxNy0wMy0wMiAxMzo0OTox Ni43NjMwMjE1NzUgLTA4MDAKQEAgLTQ2LDkgKzQ2LDkgQEAKIAlDYSAgICAgICAgICAgICAgICAg ICAgPSBHZlBhcm1HZXROdW0oaGRsZSwgV2hlZWxTZWN0W2luZGV4XSwgUFJNX0NBLCAoY2hhciop TlVMTCwgMzAuMGYpOwogCVJGYWN0b3IgICAgICAgICAgICAgICA9IEdmUGFybUdldE51bShoZGxl LCBXaGVlbFNlY3RbaW5kZXhdLCBQUk1fUkZBQ1RPUiwgKGNoYXIqKU5VTEwsIDAuOGYpOwogCUVG YWN0b3IgICAgICAgICAgICAgICA9IEdmUGFybUdldE51bShoZGxlLCBXaGVlbFNlY3RbaW5kZXhd LCBQUk1fRUZBQ1RPUiwgKGNoYXIqKU5VTEwsIDAuN2YpOwotCXdoZWVsLT5sZk1heCAgICAgICAg ICA9IEdmUGFybUdldE51bShoZGxlLCBXaGVlbFNlY3RbaW5kZXhdLCBQUk1fTE9BREZNQVgsIChj aGFyKilOVUxMLCAxLjZmKTsKLQl3aGVlbC0+bGZNaW4gICAgICAgICAgPSBHZlBhcm1HZXROdW0o aGRsZSwgV2hlZWxTZWN0W2luZGV4XSwgUFJNX0xPQURGTUlOLCAoY2hhciopTlVMTCwgMC44Zik7 Ci0Jd2hlZWwtPm9wTG9hZCAgICAgICAgID0gR2ZQYXJtR2V0TnVtKGhkbGUsIFdoZWVsU2VjdFtp bmRleF0sIFBSTV9PUExPQUQsIChjaGFyKilOVUxMLCB3aGVlbC0+d2VpZ2h0MCAqIDEuMmYpOwor CXdoZWVsLT5sZk1heCAgICAgICAgICA9IEdmUGFybUdldE51bShoZGxlLCBXaGVlbFNlY3RbaW5k ZXhdLCBQUk1fTE9BREZNQVgsIChjaGFyKilOVUxMLCAxLjRmKTsKKwl3aGVlbC0+bGZNaW4gICAg ICAgICAgPSBHZlBhcm1HZXROdW0oaGRsZSwgV2hlZWxTZWN0W2luZGV4XSwgUFJNX0xPQURGTUlO LCAoY2hhciopTlVMTCwgMS4wZik7CisJd2hlZWwtPm9wTG9hZCAgICAgICAgID0gR2ZQYXJtR2V0 TnVtKGhkbGUsIFdoZWVsU2VjdFtpbmRleF0sIFBSTV9PUExPQUQsIChjaGFyKilOVUxMLCB3aGVl bC0+d2VpZ2h0MCAqIDEuNjE4Zik7CiAJd2hlZWwtPm1hc3MgICAgICAgICAgID0gR2ZQYXJtR2V0 TnVtKGhkbGUsIFdoZWVsU2VjdFtpbmRleF0sIFBSTV9NQVNTLCAoY2hhciopTlVMTCwgMjAuMGYp OwogCiAJaWYgKGluZGV4ICUgMikgewpAQCAtMTc0LDEyICsxNzQsMTIgQEAKIHsKIAl0V2hlZWwg KndoZWVsID0gJihjYXItPndoZWVsW2luZGV4XSk7CiAJdGRibGUgYXhsZUZ6ID0gd2hlZWwtPmF4 bGVGejsKLQl0ZGJsZSB2dCwgdiwgdjIsIHdybDsgLy8gd2hlZWwgcmVsYXRlZCB2ZWxvY2l0eQor CXRkYmxlIHZ0LCB2biwgdiwgdjIsIHdybCwgc2xpcF9tYWduaXR1ZGUgPSAwLjAwMDAwMGY7IC8v IHdoZWVsIHJlbGF0ZWQgdmVsb2NpdHkKIAl0ZGJsZSBGbiwgRnQ7CiAJdGRibGUgd2F6OwotCXRk YmxlIENvc0EsIFNpbkE7Ci0JdGRibGUgcywgc2EsIHN4LCBzeTsgLy8gc2xpcCB2ZWN0b3IKLQl0 ZGJsZSBzdG1wLCBGLCBCeDsKKwlkb3VibGUgQ29zQSwgU2luQTsKKwl0ZGJsZSBzLCBzeCwgc3ks IHNhejsgLy8gc2xpcCB2ZWN0b3IKKwl0ZGJsZSBGLCBCeDsKIAl0ZGJsZSBtdTsKIAl3aGVlbC0+ c3RhdGUgPSAwOwogCkBAIC0yMDksNTIgKzIwOSw0NyBAQAogCX0KIAogCS8vIEhPUklaT05UQUwg Rk9SQ0VTCi0Jd2F6ID0gd2hlZWwtPnN0ZWVyICsgd2hlZWwtPnN0YXRpY1Bvcy5hejsKKwl3YXog PSB3aGVlbC0+c3RlZXIgKyB3aGVlbC0+c3RhdGljUG9zLmF6IC0gKFNpbURlbHRhVGltZSpjYXIt PkR5bkdDLnZlbC5heiAvKiBhY2NvdW50IGZvciB5YXcgaW5kdWNlZCB3aGVlbCBkaXJlY3Rpb24g Ki8pOwogCUNvc0EgPSBjb3Mod2F6KTsKIAlTaW5BID0gc2luKHdheik7CiAKIAkvLyB0YW5nZW50 IHZlbG9jaXR5LgogCXZ0ID0gd2hlZWwtPmJvZHlWZWwueCAqIENvc0EgKyB3aGVlbC0+Ym9keVZl bC55ICogU2luQTsKKwl2biA9IHdoZWVsLT5ib2R5VmVsLnkgKiBDb3NBIC0gd2hlZWwtPmJvZHlW ZWwueCAqIFNpbkE7CiAJdjIgPSB3aGVlbC0+Ym9keVZlbC54ICogd2hlZWwtPmJvZHlWZWwueCAr IHdoZWVsLT5ib2R5VmVsLnkgKiB3aGVlbC0+Ym9keVZlbC55OwotCXYgPSBzcXJ0KHYyKTsKLQot CS8vIHNsaXAgYW5nbGUKLQlpZiAodiA8IDAuMDAwMDAxZikgewotCQlzYSA9IDAuMGY7Ci0JfSBl bHNlIHsKLQkJc2EgPSBhdGFuMih3aGVlbC0+Ym9keVZlbC55LCB3aGVlbC0+Ym9keVZlbC54KSAt IHdhejsKLQl9Ci0JTk9STV9QSV9QSShzYSk7CisJdiA9IHNxcnRmKHYyKTsKIAogCXdybCA9IHdo ZWVsLT5zcGluVmVsICogd2hlZWwtPnJhZGl1czsKKwogCWlmICgod2hlZWwtPnN0YXRlICYgU0lN X1dIX09OQUlSKSAhPSAwKSB7Ci0JCXN4ID0gc3kgPSAwLjBmOwotCX0gZWxzZSBpZiAodiA8IDAu MDAwMDAxZikgewotCQlzeCA9IHdybDsKLQkJc3kgPSAwLjBmOworCQlzeCA9IHN5ID0gc2F6ID0g MC4wZjsKIAl9IGVsc2UgewotCQlzeCA9ICh2dCAtIHdybCkgLyBmYWJzKHZ0KTsKLQkJc3kgPSBz aW4oc2EpOworCQkvLyBDT01CSU5FRCBMT05HSVRVRElOQUwsIExBVEVSQUwsIGFuZCBZQVdJTkcg VElSRSBTTElQIEZPUkNFUzoKKwkJLy8gTm9ybWFsaXplIHRoZSBmcmljdGlvbiBjaXJjbGUgdG8g Z2V0IG5vcm1hbGl6ZWQgdmVjdG9yIGNvbXBvbmVudHMgKHN4LCBzeSkgd2hpbGUKKwkJLy8gYnJh a2luZyAodnQpLCBhY2NlbGVyYXRpbmcgKHdybCksIG9yIHdoZWVsIGNvdW50ZXIgc3BpbiAodnQg LSB3cmwpIGZvciBhbnkgYW5nbGUuCisJCS8vIHNheiBzbGlwIHNwZWVkIGFjY291bnRzIGZvciBy b3RhdGluZyB0aGUgY29udGFjdCBwYXRjaCAoeWF3KS4gKiBhZGQgc3RlZXJpbmcgc3BlZWQgYW5k IHNlbGYgYWxpZ25pbmcgdG9ycXVlLgorCQlzYXogPSAoMS4xZiozLjE0MTZmKSAqIGNhci0+RHlu R0MudmVsLmF6ICogY2FyLT5jYXJFbHQtPl90aXJlV2lkdGgoaW5kZXgpOyAvLyB5YXdpbmcgc2xp cCBzcGVlZC4KKwkJc2xpcF9tYWduaXR1ZGUgPSAwLjAwMDAwMWYgKyAvKiBTb2Z0ZW5pbmcgZmFj dG9yIDAuMDAwMDAxIHByZXZlbnRzIGRpdmlkZSBieSB6ZXJvICovCisJCQkJc3FydCggTUFYKE1B WCgodjIgKyBzYXoqc2F6KSwgKHZuKnZuICsgd3JsKndybCArIHNheipzYXopKSwgKHZuKnZuICsg KHZ0IC0gd3JsKSoodnQgLSB3cmwpICsgc2F6KnNheikpICk7CisJCXN4ID0gKHZ0IC0gd3JsKSAv IHNsaXBfbWFnbml0dWRlOworCQlzeSA9IHZuIC8gc2xpcF9tYWduaXR1ZGU7CisJCXNheiAvPSBz bGlwX21hZ25pdHVkZTsKIAl9CiAKLQlGdCA9IDAuMGY7Ci0JRm4gPSAwLjBmOwotCXMgPSBzcXJ0 KHN4KnN4K3N5KnN5KTsKKwlzID0gc3FydGYoc3gqc3grc3kqc3krc2F6KnNheik7CiAKIAl7Ci0J CS8vIGNhbGN1bGF0ZSBfc2tpZCBhbmQgX3JlYWN0aW9uIGZvciBzb3VuZC4KLQkJaWYgKHYgPCAy LjBmKSB7CisJCS8vIGNhbGN1bGF0ZSBfc2tpZCBhbmQgX3JlYWN0aW9uIGZvciBzb3VuZCAoc3Vz cGljaW91c2x5OyBhZmZlY3RzIHRyYWN0aW9uIGFsc28pLgorCQlpZiAoKHYgPCAwLjAxZikgfHwg KHpmb3JjZSA8IDAuMDAyZikpIHsKIAkJCWNhci0+Y2FyRWx0LT5fc2tpZFtpbmRleF0gPSAwLjBm OwogCQl9IGVsc2UgewotCQkJY2FyLT5jYXJFbHQtPl9za2lkW2luZGV4XSA9ICBNSU4oMS4wZiwg KHMqemZvcmNlKjAuMDAwMmYpKTsKKwkJCWNhci0+Y2FyRWx0LT5fc2tpZFtpbmRleF0gPSBzOyAv LyBsaW5lYXIgKHRhbmggcmVtb3ZlZCBpbiBncnNraWRtYXJrcy5jcHApCiAJCX0KIAl9CiAKLQlz dG1wID0gTUlOKHMsIDEuNWYpOwotCQotCS8vIE1BR0lDIEZPUk1VTEEKLQlCeCA9IHdoZWVsLT5t ZkIgKiBzdG1wOwotCUYgPSBzaW4od2hlZWwtPm1mQyAqIGF0YW4oQnggKiAoMS4wZiAtIHdoZWVs LT5tZkUpICsgd2hlZWwtPm1mRSAqIGF0YW4oQngpKSkgKiAoMS4wZiArIHN0bXAgKiBzaW1Ta2lk RmFjdG9yW2Nhci0+Y2FyRWx0LT5fc2tpbGxMZXZlbF0pOworCS8vIE1BR0lDIEZPUk1VTEEgLy8g Tm90ZTogRiA9IHNpbiguLi4pIGJlbG93IHJldHVybnMgbm9ybWFsaXplZCBmb3JjZSEKKwlCeCA9 IHdoZWVsLT5tZkIgKiBzOworCUYgPSBzaW4od2hlZWwtPm1mQyAqIGF0YW4oQnggKiAoMS4wZiAt IHdoZWVsLT5tZkUpICsgd2hlZWwtPm1mRSAqIGF0YW4oQngpKSkgKiAoMS4wZiArIHMgKiBzaW1T a2lkRmFjdG9yW2Nhci0+Y2FyRWx0LT5fc2tpbGxMZXZlbF0pOwogCiAJLy8gbG9hZCBzZW5zaXRp dml0eQogCW11ID0gd2hlZWwtPm11ICogKHdoZWVsLT5sZk1pbiArICh3aGVlbC0+bGZNYXggLSB3 aGVlbC0+bGZNaW4pICogZXhwKHdoZWVsLT5sZksgKiB6Zm9yY2UgLyB3aGVlbC0+b3BMb2FkKSk7 CkBAIC0yNjIsMzEgKzI1NywzNSBAQAogCUYgKj0gemZvcmNlICogbXUgKiB3aGVlbC0+dHJrUG9z LnNlZy0+c3VyZmFjZS0+a0ZyaWN0aW9uICogKDEuMGYgKyAwLjA1ZiAqIHNpbigtd2hlZWwtPnN0 YXRpY1Bvcy5heCAqIDE4LjBmKSk7CS8qIGNvZWZmICovCiAKIAl3aGVlbC0+cm9sbFJlcyA9IHpm b3JjZSAqIHdoZWVsLT50cmtQb3Muc2VnLT5zdXJmYWNlLT5rUm9sbFJlczsKLSAgICBjYXItPmNh ckVsdC0+cHJpdi53aGVlbFtpbmRleF0ucm9sbFJlcyA9IHdoZWVsLT5yb2xsUmVzOwogCi0JaWYg KHMgPiAwLjAwMDAwMWYpIHsKLQkJLy8gd2hlZWwgYXhpcyBiYXNlZAotCQlGdCAtPSBGICogc3gg LyBzOwotCQlGbiAtPSBGICogc3kgLyBzOwotCX0KKwkvLyB3aGVlbCBheGlzIGJhc2VkCisJcyAr PSAwLjAwMDAwMWY7IC8vIGFkZCAwLjAwMDAwMSB0byBhdm9pZCBkaXZpZGUgYnkgemVybyBsYXRl ci4KKwlGdCA9IC0oRiAtIHdoZWVsLT5yb2xsUmVzKSAqIHN4L3M7IC8vIHJvbGxpbmcgcmVzaXN0 YW5jZSBpcyB0aGUgcm9sbGluZyB2ZWN0b3IgY29tcG9uZW50IG9ubHkuCisJRm4gPSAtRiAqIHN5 L3M7CiAKLQlSRUxBWEFUSU9OMihGbiwgd2hlZWwtPnByZUZuLCA1MC4wZik7Ci0JUkVMQVhBVElP TjIoRnQsIHdoZWVsLT5wcmVGdCwgNTAuMGYpOworCWNhci0+RHluR0MuYWNjLmF6ICs9IC1GICog c2F6L3MgKiBTaW1EZWx0YVRpbWUgKiBjYXItPklpbnYuejsgLy8gc2VlIHRvcmNzL3NyYy9tb2R1 bGVzL3NpbXUvc2ltdXYyL3NpbXUuY3BwIDo6IFNpbVVwZGF0ZSgpCisKKwl3aGVlbC0+cm9sbFJl cyAqPSBmYWJzZihzeC9zKTsgLy8gbm90IHVzZWQgKHJlbW92ZWQgZnJvbSAvc3JjL21vZHVsZXMv c2ltdS9zaW11djIvY2FyLmNwcCkKKwljYXItPmNhckVsdC0+cHJpdi53aGVlbFtpbmRleF0ucm9s bFJlcyA9IHdoZWVsLT5yb2xsUmVzOyAvLyBub3QgdXNlZCBpbiAvc3JjL21vZHVsZXMvZ3JhcGhp Yy9zc2dncmFwaC9DYXJTb3VuZERhdGEuY3BwCisKKwl3YXogPSB3aGVlbC0+c3RlZXIgKyB3aGVl bC0+c3RhdGljUG9zLmF6OyAvKiBkb24ndCBpbmNsdWRlIHlhdyBpbmR1Y2VkIHdoZWVsIGRpcmVj dGlvbiBoZXJlICovCisJQ29zQSA9IGNvcyh3YXopOworCVNpbkEgPSBzaW4od2F6KTsKIAogCXdo ZWVsLT5yZWxQb3MuYXogPSB3YXo7CiAKLQl3aGVlbC0+Zm9yY2VzLnggPSBGdCAqIENvc0EgLSBG biAqIFNpbkE7CisJd2hlZWwtPmZvcmNlcy54ID0gRnQgKiBDb3NBIC0gRm4gKiBTaW5BOyAvLyBS b2xsaW5nIHJlc2lzdGFuY2UgaW4gRnQKIAl3aGVlbC0+Zm9yY2VzLnkgPSBGdCAqIFNpbkEgKyBG biAqIENvc0E7Ci0Jd2hlZWwtPnNwaW5UcSA9IEZ0ICogd2hlZWwtPnJhZGl1czsKLQl3aGVlbC0+ c2EgPSBzYTsKKwl3aGVlbC0+c3BpblRxID0gLUYgKiBzeC9zICogd2hlZWwtPnJhZGl1czsgLy8g c3BpblRxIGlzIGF4bGUgdG9ycXVlLCB0aHVzIG5vIHJvbGxpbmcgcmVzaXN0YW5jZQorCXdoZWVs LT5zYSA9IGF0YW4yKHdoZWVsLT5ib2R5VmVsLnksIHdoZWVsLT5ib2R5VmVsLngpIC0gd2F6Owog CXdoZWVsLT5zeCA9IHN4OwogCiAJd2hlZWwtPmZlZWRCYWNrLnNwaW5WZWwgPSB3aGVlbC0+c3Bp blZlbDsKIAl3aGVlbC0+ZmVlZEJhY2suVHEgPSB3aGVlbC0+c3BpblRxOwogCXdoZWVsLT5mZWVk QmFjay5icmtUcSA9IHdoZWVsLT5icmFrZS5UcTsKIAotCWNhci0+Y2FyRWx0LT5fd2hlZWxTbGlw U2lkZShpbmRleCkgPSBzeSp2OwotCWNhci0+Y2FyRWx0LT5fd2hlZWxTbGlwQWNjZWwoaW5kZXgp ID0gc3gqdjsKKwljYXItPmNhckVsdC0+X3doZWVsU2xpcFNpZGUoaW5kZXgpID0gdm4qKDEuMGYt c3kpOyAvLyB3aGVlbCBub3JtYWwgYWRoZXNpb24gdmVsb2NpdHkKKwljYXItPmNhckVsdC0+X3do ZWVsU2xpcEFjY2VsKGluZGV4KSA9IHZ0KigxLjBmLXN4KTsgLy8gd2hlZWwgdGFuZ2VudCBhZGhl c2lvbiB2ZWxvY2l0eQogCWNhci0+Y2FyRWx0LT5fcmVhY3Rpb25baW5kZXhdID0gemZvcmNlOwog fQogCkBAIC0zMDEsOCArMzAwLDYgQEAKIAkJd2hlZWwgPSAmKGNhci0+d2hlZWxbaV0pOwogCQl3 aGVlbC0+c3BpblZlbCA9IHdoZWVsLT5pbi5zcGluVmVsOwogCi0JCVJFTEFYQVRJT04yKHdoZWVs LT5zcGluVmVsLCB3aGVlbC0+cHJlc3BpblZlbCwgNTAuMGYpOwotCiAJCXdoZWVsLT5yZWxQb3Mu YXkgKz0gd2hlZWwtPnNwaW5WZWwgKiBTaW1EZWx0YVRpbWU7CiAJCU5PUk1fUElfUEkod2hlZWwt PnJlbFBvcy5heSk7CiAJCWNhci0+Y2FyRWx0LT5fd2hlZWxTcGluVmVsKGkpID0gd2hlZWwtPnNw aW5WZWw7Cg== ------=_Part_71222784_1526971510.1489294115335 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ Announcing the Oxford Dictionaries API! The API offers world-renowned dictionary content that is easy and intuitive to access. Sign up for an account today to start using our lexical data to power your apps and projects. Get started today and enter our developer competition. http://sdm.link/oxford ------=_Part_71222784_1526971510.1489294115335 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Torcs-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/torcs-users ------=_Part_71222784_1526971510.1489294115335--