From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 127950 invoked by alias); 23 Mar 2015 21:21:29 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 127939 invoked by uid 89); 23 Mar 2015 21:21:28 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=2.2 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,KAM_FROM_URIBL_PCCC,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=no version=3.3.2 X-HELO: mail-yk0-f171.google.com Received: from mail-yk0-f171.google.com (HELO mail-yk0-f171.google.com) (209.85.160.171) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Mon, 23 Mar 2015 21:21:27 +0000 Received: by ykcn8 with SMTP id n8so79549898ykc.3 for ; Mon, 23 Mar 2015 14:21:25 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.52.37.50 with SMTP id v18mr820235vdj.87.1427145684906; Mon, 23 Mar 2015 14:21:24 -0700 (PDT) Received: by 10.52.146.83 with HTTP; Mon, 23 Mar 2015 14:21:24 -0700 (PDT) In-Reply-To: <83zj73rain.fsf@gnu.org> References: <20130926165939.GA5440@adacore.com> <20131004073447.GB3326@adacore.com> <20150225151646.GA30181@adacore.com> <20150227081642.GE31815@adacore.com> <20150317145620.GB7494@adacore.com> <83zj73rain.fsf@gnu.org> Date: Mon, 23 Mar 2015 21:21:00 -0000 Message-ID: Subject: Re: Setting parity for remote serial From: Yurij Grechishhev To: Eli Zaretskii Cc: Joel Brobecker , gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=20cf307f377298787c0511fb3f98 X-SW-Source: 2015-03/txt/msg00759.txt.bz2 --20cf307f377298787c0511fb3f98 Content-Type: text/plain; charset=UTF-8 Content-length: 376 Hello Joel, Updated patch is attached. -- Thanks, Yury 2015-03-23 18:36 GMT+03:00 Eli Zaretskii : >> Date: Mon, 23 Mar 2015 01:52:26 +0300 >> From: Yurij Grechishhev >> Cc: gdb-patches@sourceware.org >> >> Updated patch is below. Also I've fixed one issue with zeroing PARENB flag. > > OK for the documentation parts. > > Thanks. --20cf307f377298787c0511fb3f98 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Add-set-show-serial-parity-command.patch" Content-Disposition: attachment; filename="0001-Add-set-show-serial-parity-command.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i7mdlkat0 Content-length: 20712 RnJvbSBhYmNjNTgxODE5M2YwYTQ4Y2M4NThhNGNjNzYwZmQ3YjE1Y2Y4OWNk IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBZdXJ5IEdyZWNoaXNo Y2hldiA8eXVyeS5ncmVjaGlzaGNoZXZAeW90YWRldmljZXMuY29tPgpEYXRl OiBUdWUsIDI0IE1hciAyMDE1IDAwOjE1OjQyICswMzAwClN1YmplY3Q6IFtQ QVRDSF0gQWRkIHNldC9zaG93IHNlcmlhbCBwYXJpdHkgY29tbWFuZC4KCi0t LQogZ2RiL0NoYW5nZUxvZyAgICAgICB8ICAgMzQgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwogZ2RiL05FV1MgICAgICAgICAgICB8ICAg IDQgKysrKwogZ2RiL2RvYy9DaGFuZ2VMb2cgICB8ICAgIDUgKysrKysKIGdk Yi9kb2MvZ2RiLnRleGluZm8gfCAgICA3ICsrKysrKysKIGdkYi9tb25pdG9y LmMgICAgICAgfCAgICAxICsKIGdkYi9yZW1vdGUuYyAgICAgICAgfCAgICAx ICsKIGdkYi9zZXItYmFzZS5jICAgICAgfCAgICA4ICsrKysrKysrCiBnZGIv c2VyLWJhc2UuaCAgICAgIHwgICAgMSArCiBnZGIvc2VyLWdvMzIuYyAgICAg IHwgICAgMSArCiBnZGIvc2VyLW1pbmd3LmMgICAgIHwgICA0MCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiBnZGIvc2VyLXBp cGUuYyAgICAgIHwgICAgMSArCiBnZGIvc2VyLXRjcC5jICAgICAgIHwgICAg MSArCiBnZGIvc2VyLXVuaXguYyAgICAgIHwgICA1MSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIGdkYi9z ZXJpYWwuYyAgICAgICAgfCAgIDQwICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIGdkYi9zZXJpYWwuaCAgICAgICAgfCAgIDEx ICsrKysrKysrKysrCiBnZGIvdGFyZ2V0LmggICAgICAgIHwgICAgNCArKysr CiAxNiBmaWxlcyBjaGFuZ2VkLCAyMDYgaW5zZXJ0aW9ucygrKSwgNCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nZGIvQ2hhbmdlTG9nIGIvZ2RiL0No YW5nZUxvZwppbmRleCBjYThiYmFmLi5mYWJhZGYzIDEwMDY0NAotLS0gYS9n ZGIvQ2hhbmdlTG9nCisrKyBiL2dkYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz NyBAQAorMjAxNS0wMy0yMSAgWXVyaWogR3JlY2hpc2hoZXYgIDx5dXJpai5n cmVjaGlzaGhldkBnbWFpbC5jb20+CisKKwkqIE5FV1M6IE1lbnRpb24gc2V0 L3Nob3cgc2VyaWFsIHBhcml0eSBjb21tYW5kLgorCSogbW9uaXRvci5jICht b25pdG9yX29wZW4pOiBDYWxsIHNlcmlhbF9zZXRwYXJpdHkuCisJKiByZW1v dGUuYyAocmVtb3RlX29wZW5fMSk6IExpa2V3aXNlLgorCSogc2VyLWJhc2Uu YyAoc2VyX2Jhc2Vfc2VycGFyaXR5KTogTmV3IGZ1bmN0aW9uLgorCSogc2Vy LWJhc2UuaCAoc2VyX2Jhc2Vfc2V0cGFyaXR5KTogQWRkICBkZWNsYXJhdGlv bi4KKwkqIHNlci1nbzMyLmMgKGRvc19vcHMpOiBTZXQgInNldHBhcml0eSIg ZmllbGQuCisJKiBzZXItbWluZ3cuYyAoc2VyX3dpbmRvd3NfcmF3KTogRG8g bm90IHNldCBzdGF0ZS5mUGFyaXR5IGFuZAorCXN0YXRlLlBhcml0eS4KKwko c2VyX3dpbmRvd3Nfc2V0cGFyaXR5KTogTmV3IGZ1bmN0aW9uLgorCShoYXJk d2lyZV9vcHMpOiBBZGQgc2VyX3dpbmRvd3Nfc2V0cGFyaXR5LgorCSh0dHlf b3BzKTogQWRkIE5VTEwgZm9yIHNldHBhcml0eSBmaWVsZC4KKwkocGlwZV9v cHMpOiBBZGQgc2VyX2Jhc2Vfc2V0cGFyaXR5LgorCSh0Y3Bfb3BzKTogTGlr ZXdpc2UuCisJKiBzZXItcGlwZS5jIChwaXBlX29wcyk6IExpa2V3aXNlLgor CSogc2VyLXRjcC5jICh0Y3Bfb3BzKTogTGlrZXdpc2UuCisJKiBzZXItdW5p eC5jIChoYXJkd2lyZV9zZXRwYXJpdHkpOiBBZGQgZGVjbGFyYXRpb24uCisJ KGhhcmR3aXJlX3Jhdyk6IERvbid0IHJlc2V0IFBBUkVOQiBmbGFnLgorCSho YXJkd2lyZV9zZXRwYXJpdHkpOiBOZXcgZnVuY3Rpb24uCisJKGhhcmR3aXJl X29wcyk6IEFkZCBoYXJkd2lyZV9zZXRwYXJpdHkuCisJKiBzZXJpYWwuYyAo c2VyaWFsX3NldHBhcml0eSk6IE5ldyBmdW5jdGlvbi4KKwkoc2VyaWFsX3Bh cml0eSk6IE5ldyBnbG9iYWwuCisJKHBhcml0eV9ub25lLCBwYXJpdHlfb2Rk LCBwYXJpdHlfZXZlbiwgcGFyaXR5X2VudW1zLCBwYXJpdHkpOgorCU5ldyBz dGF0aWMgZ2xvYmFscy4KKwkoc2V0X3Bhcml0eSk6IE5ldyBmdW5jdGlvbi4K KwkoX2luaXRpYWxpemVfc2VyaWFsKTogQWRkIHNldC9zaG93IHNlcmlhbCBw YXJpdHkgY29tbWFuZHMuCisJKiBzZXJpYWwuaCAoR0RCUEFSSVRZX05PTkUp OiBEZWZpbmUuCisJKEdEQlBBUklUWV9PREQpOiBEZWZpbmUuCisJKEdEQlBB UklUWV9FVkVOKTogRGVmaW5lLgorCShzZXJpYWxfc2V0cGFyaXR5KSBBZGQg ZGVjbGFyYXRpb24uCisJKHN0cnVjdCBzZXJpYWxfb3BzKTogQWRkIHNldHBh cml0eSBmaWVsZC4KKwkqIHRhcmdldC5oIChzZXJpYWxfcGFyaXR5KTogQWRk IGRlY2xhcmF0aW9uLgorCiAyMDE1LTAzLTE3ICBZdXJpaiBHcmVjaGlzaGhl diAgPHl1cmlqLmdyZWNoaXNoaGV2QGdtYWlsLmNvbT4KIAogCSogc2VyLWJh c2UuaCAoc2VyX2Jhc2Vfc2V0c3RvcGJpdHMpOiBDaGFuZ2Ugc2Vjb25kIGFy Z3VtZW50IG5hbWUKZGlmZiAtLWdpdCBhL2dkYi9ORVdTIGIvZ2RiL05FV1MK aW5kZXggYmRhNGEzNS4uM2ZhMzNjOSAxMDA2NDQKLS0tIGEvZ2RiL05FV1MK KysrIGIvZ2RiL05FV1MKQEAgLTMsNiArMywxMCBAQAogCiAqKiogQ2hhbmdl cyBzaW5jZSBHREIgNy45CiAKKyogR0RCIGhhcyB0d28gbmV3IGNvbW1hbmRz OiAic2V0IHNlcmlhbCBwYXJpdHkgb2RkfGV2ZW58bm9uZSIgYW5kCisgICJz aG93IHNlcmlhbCBwYXJpdHkiLiAgVGhlc2UgYWxsb3dzIHRvIHNldCBvciBz aG93IHBhcml0eSBmb3IgdGhlCisgIHJlbW90ZSBzZXJpYWwgSS9PLgorCiAq IFRoZSAiaW5mbyBzb3VyY2UiIGNvbW1hbmQgbm93IGRpc3BsYXlzIHRoZSBw cm9kdWNlciBzdHJpbmcgaWYgaXQgd2FzCiAgIHByZXNlbnQgaW4gdGhlIGRl YnVnIGluZm8uICBUaGlzIHR5cGljYWxseSBpbmNsdWRlcyB0aGUgY29tcGls ZXIgdmVyc2lvbgogICBhbmQgbWF5IGluY2x1ZGUgdGhpbmdzIGxpa2UgaXRz IGNvbW1hbmQgbGluZSBhcmd1bWVudHMuCmRpZmYgLS1naXQgYS9nZGIvZG9j L0NoYW5nZUxvZyBiL2dkYi9kb2MvQ2hhbmdlTG9nCmluZGV4IDVlZmIwNjAu LmY3ZDY0ODUgMTAwNjQ0Ci0tLSBhL2dkYi9kb2MvQ2hhbmdlTG9nCisrKyBi L2dkYi9kb2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsOCBAQAorMjAxNS0wMy0x NiAgWXVyaWogR3JlY2hpc2hoZXYgIDx5dXJpai5ncmVjaGlzaGhldkBnbWFp bC5jb20+CisKKwkqIGdkYi50ZXhpbmZvIChSZW1vdGUgY29uZmlndXJhdGlv bik6IERvY3VtZW50ICJzZXQvc2hvdworCXNlcmlhbCBwYXJpdHkiIGNvbW1h bmQuCisKIDIwMTUtMDMtMTEgIEdhcnkgQmVuc29uIDxnYmVuc29uQHJlZGhh dC5jb20+CiAKIAkqIGdkYi50ZXhpbmZvIChSZW1vdGUgQ29uZmlndXJhdGlv bik6IERvY3VtZW50IHRoZQpkaWZmIC0tZ2l0IGEvZ2RiL2RvYy9nZGIudGV4 aW5mbyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KaW5kZXggOWU3MTY0Mi4uYTgx OGQ1OCAxMDA2NDQKLS0tIGEvZ2RiL2RvYy9nZGIudGV4aW5mbworKysgYi9n ZGIvZG9jL2dkYi50ZXhpbmZvCkBAIC0xOTQ0Myw2ICsxOTQ0MywxMyBAQCBy ZW1vdGUgdGFyZ2V0cy4KIEBpdGVtIHNob3cgc2VyaWFsIGJhdWQKIFNob3cg dGhlIGN1cnJlbnQgc3BlZWQgb2YgdGhlIHJlbW90ZSBjb25uZWN0aW9uLgog CitAaXRlbSBzZXQgc2VyaWFsIHBhcml0eSBAdmFye3Bhcml0eX0KK1NldCB0 aGUgcGFyaXR5IGZvciB0aGUgcmVtb3RlIHNlcmlhbCBJL08uICBTdXBwb3J0 ZWQgdmFsdWVzIG9mIEB2YXJ7cGFyaXR5fSBhcmU6CitAY29kZXtldmVufSwg QGNvZGV7bm9uZX0sIGFuZCBAY29kZXtvZGR9LiAgVGhlIGRlZmF1bHQgaXMg QGNvZGV7bm9uZX0uCisKK0BpdGVtIHNob3cgc2VyaWFsIHBhcml0eQorU2hv dyB0aGUgY3VycmVudCBwYXJpdHkgb2YgdGhlIHNlcmlhbCBwb3J0LgorCiBA aXRlbSBzZXQgcmVtb3RlYnJlYWsKIEBjaW5kZXggaW50ZXJydXB0IHJlbW90 ZSBwcm9ncmFtcwogQGNpbmRleCBCUkVBSyBzaWduYWwgaW5zdGVhZCBvZiBD dHJsLUMKZGlmZiAtLWdpdCBhL2dkYi9tb25pdG9yLmMgYi9nZGIvbW9uaXRv ci5jCmluZGV4IGIwNDBlYzQuLjU0OGRhZTMgMTAwNjQ0Ci0tLSBhL2dkYi9t b25pdG9yLmMKKysrIGIvZ2RiL21vbml0b3IuYwpAQCAtNzY3LDYgKzc2Nyw3 IEBAIG1vbml0b3Jfb3BlbiAoY29uc3QgY2hhciAqYXJncywgc3RydWN0IG1v bml0b3Jfb3BzICptb25fb3BzLCBpbnQgZnJvbV90dHkpCiAJfQogICAgIH0K IAorICBzZXJpYWxfc2V0cGFyaXR5IChtb25pdG9yX2Rlc2MsIHNlcmlhbF9w YXJpdHkpOwogICBzZXJpYWxfcmF3IChtb25pdG9yX2Rlc2MpOwogCiAgIHNl cmlhbF9mbHVzaF9pbnB1dCAobW9uaXRvcl9kZXNjKTsKZGlmZiAtLWdpdCBh L2dkYi9yZW1vdGUuYyBiL2dkYi9yZW1vdGUuYwppbmRleCA5YWFlZTEzLi5l ZDNhYjU3IDEwMDY0NAotLS0gYS9nZGIvcmVtb3RlLmMKKysrIGIvZ2RiL3Jl bW90ZS5jCkBAIC00MzEwLDYgKzQzMTAsNyBAQCByZW1vdGVfb3Blbl8xIChj b25zdCBjaGFyICpuYW1lLCBpbnQgZnJvbV90dHksCiAJfQogICAgIH0KIAor ICBzZXJpYWxfc2V0cGFyaXR5IChycy0+cmVtb3RlX2Rlc2MsIHNlcmlhbF9w YXJpdHkpOwogICBzZXJpYWxfcmF3IChycy0+cmVtb3RlX2Rlc2MpOwogCiAg IC8qIElmIHRoZXJlIGlzIHNvbWV0aGluZyBzaXR0aW5nIGluIHRoZSBidWZm ZXIgd2UgbWlnaHQgdGFrZSBpdCBhcyBhCmRpZmYgLS1naXQgYS9nZGIvc2Vy LWJhc2UuYyBiL2dkYi9zZXItYmFzZS5jCmluZGV4IDg3ODE3YzQuLjA5YWFj ZWMgMTAwNjQ0Ci0tLSBhL2dkYi9zZXItYmFzZS5jCisrKyBiL2dkYi9zZXIt YmFzZS5jCkBAIC01NDEsNiArNTQxLDE0IEBAIHNlcl9iYXNlX3NldHN0b3Bi aXRzIChzdHJ1Y3Qgc2VyaWFsICpzY2IsIGludCBudW0pCiAgIHJldHVybiAw OwkJCS8qIE5ldmVyIGZhaWxzISAgKi8KIH0KIAorLyogSW1wbGVtZW50IHRo ZSAic2V0cGFyaXR5IiBzZXJpYWxfb3BzIGNhbGxiYWNrLiAgKi8KKworaW50 CitzZXJfYmFzZV9zZXRwYXJpdHkgKHN0cnVjdCBzZXJpYWwgKnNjYiwgaW50 IHBhcml0eSkKK3sKKyAgcmV0dXJuIDA7CQkJLyogTmV2ZXIgZmFpbHMhICAq LworfQorCiAvKiBQdXQgdGhlIFNFUklBTCBkZXZpY2UgaW50by9vdXQtb2Yg QVNZTkMgbW9kZS4gICovCiAKIHZvaWQKZGlmZiAtLWdpdCBhL2dkYi9zZXIt YmFzZS5oIGIvZ2RiL3Nlci1iYXNlLmgKaW5kZXggNmFhYzkyNS4uYmIxYzUx ZCAxMDA2NDQKLS0tIGEvZ2RiL3Nlci1iYXNlLmgKKysrIGIvZ2RiL3Nlci1i YXNlLmgKQEAgLTQzLDYgKzQzLDcgQEAgZXh0ZXJuIGludCBzZXJfYmFzZV9u b2ZsdXNoX3NldF90dHlfc3RhdGUgKHN0cnVjdCBzZXJpYWwgKnNjYiwKIAkJ CQkJICAgc2VyaWFsX3R0eXN0YXRlIG9sZF90dHlzdGF0ZSk7CiBleHRlcm4g aW50IHNlcl9iYXNlX3NldGJhdWRyYXRlIChzdHJ1Y3Qgc2VyaWFsICpzY2Is IGludCByYXRlKTsKIGV4dGVybiBpbnQgc2VyX2Jhc2Vfc2V0c3RvcGJpdHMg KHN0cnVjdCBzZXJpYWwgKnNjYiwgaW50IG51bSk7CitleHRlcm4gaW50IHNl cl9iYXNlX3NldHBhcml0eSAoc3RydWN0IHNlcmlhbCAqc2NiLCBpbnQgcGFy aXR5KTsKIGV4dGVybiBpbnQgc2VyX2Jhc2VfZHJhaW5fb3V0cHV0IChzdHJ1 Y3Qgc2VyaWFsICpzY2IpOwogCiBleHRlcm4gaW50IHNlcl9iYXNlX3dyaXRl IChzdHJ1Y3Qgc2VyaWFsICpzY2IsIGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90 IGNvdW50KTsKZGlmZiAtLWdpdCBhL2dkYi9zZXItZ28zMi5jIGIvZ2RiL3Nl ci1nbzMyLmMKaW5kZXggNmJmMWI0ZS4uYmJjZjZhZiAxMDA2NDQKLS0tIGEv Z2RiL3Nlci1nbzMyLmMKKysrIGIvZ2RiL3Nlci1nbzMyLmMKQEAgLTg2NCw2 ICs4NjQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHNlcmlhbF9vcHMgZG9z X29wcyA9CiAgIGRvc19ub2ZsdXNoX3NldF90dHlfc3RhdGUsCiAgIGRvc19z ZXRiYXVkcmF0ZSwKICAgZG9zX3NldHN0b3BiaXRzLAorICBkb3Nfbm9vcCwK ICAgZG9zX25vb3AsCQkJLyogV2FpdCBmb3Igb3V0cHV0IHRvIGRyYWluLiAg Ki8KICAgKHZvaWQgKCopKHN0cnVjdCBzZXJpYWwgKiwgaW50KSlOVUxMCS8q IENoYW5nZSBpbnRvIGFzeW5jIG1vZGUuICAqLwogfTsKZGlmZiAtLWdpdCBh L2dkYi9zZXItbWluZ3cuYyBiL2dkYi9zZXItbWluZ3cuYwppbmRleCA3ZjMz NWU5Li42ZDM4M2FjIDEwMDY0NAotLS0gYS9nZGIvc2VyLW1pbmd3LmMKKysr IGIvZ2RiL3Nlci1taW5ndy5jCkBAIC0xNTMsNyArMTUzLDYgQEAgc2VyX3dp bmRvd3NfcmF3IChzdHJ1Y3Qgc2VyaWFsICpzY2IpCiAgIGlmIChHZXRDb21t U3RhdGUgKGgsICZzdGF0ZSkgPT0gMCkKICAgICByZXR1cm47CiAKLSAgc3Rh dGUuZlBhcml0eSA9IEZBTFNFOwogICBzdGF0ZS5mT3V0eEN0c0Zsb3cgPSBG QUxTRTsKICAgc3RhdGUuZk91dHhEc3JGbG93ID0gRkFMU0U7CiAgIHN0YXRl LmZEdHJDb250cm9sID0gRFRSX0NPTlRST0xfRU5BQkxFOwpAQCAtMTYzLDcg KzE2Miw2IEBAIHNlcl93aW5kb3dzX3JhdyAoc3RydWN0IHNlcmlhbCAqc2Ni KQogICBzdGF0ZS5mTnVsbCA9IEZBTFNFOwogICBzdGF0ZS5mQWJvcnRPbkVy cm9yID0gRkFMU0U7CiAgIHN0YXRlLkJ5dGVTaXplID0gODsKLSAgc3RhdGUu UGFyaXR5ID0gTk9QQVJJVFk7CiAKICAgc2NiLT5jdXJyZW50X3RpbWVvdXQg PSAwOwogCkBAIC0xOTgsNiArMTk2LDQwIEBAIHNlcl93aW5kb3dzX3NldHN0 b3BiaXRzIChzdHJ1Y3Qgc2VyaWFsICpzY2IsIGludCBudW0pCiAgIHJldHVy biAoU2V0Q29tbVN0YXRlIChoLCAmc3RhdGUpICE9IDApID8gMCA6IC0xOwog fQogCisvKiBJbXBsZW1lbnQgdGhlICJzZXRwYXJpdHkiIHNlcmlhbF9vcHMg Y2FsbGJhY2suICAqLworCitzdGF0aWMgaW50CitzZXJfd2luZG93c19zZXRw YXJpdHkgKHN0cnVjdCBzZXJpYWwgKnNjYiwgaW50IHBhcml0eSkKK3sKKyAg SEFORExFIGggPSAoSEFORExFKSBfZ2V0X29zZmhhbmRsZSAoc2NiLT5mZCk7 CisgIERDQiBzdGF0ZTsKKworICBpZiAoR2V0Q29tbVN0YXRlIChoLCAmc3Rh dGUpID09IDApCisgICAgcmV0dXJuIC0xOworCisgIHN3aXRjaCAocGFyaXR5 KQorICAgIHsKKyAgICBjYXNlIEdEQlBBUklUWV9OT05FOgorICAgICAgc3Rh dGUuUGFyaXR5ID0gTk9QQVJJVFk7CisgICAgICBzdGF0ZS5mUGFyaXR5ID0g RkFMU0U7CisgICAgICBicmVhazsKKyAgICBjYXNlIEdEQlBBUklUWV9PREQ6 CisgICAgICBzdGF0ZS5QYXJpdHkgPSBPRERQQVJJVFk7CisgICAgICBzdGF0 ZS5mUGFyaXR5ID0gVFJVRTsKKyAgICAgIGJyZWFrOworICAgIGNhc2UgR0RC UEFSSVRZX0VWRU46CisgICAgICBzdGF0ZS5QYXJpdHkgPSBFVkVOUEFSSVRZ OworICAgICAgc3RhdGUuZlBhcml0eSA9IFRSVUU7CisgICAgICBicmVhazsK KyAgICBkZWZhdWx0OgorICAgICAgaW50ZXJuYWxfd2FybmluZyAoX19GSUxF X18sIF9fTElORV9fLAorICAgICAgICAgICAgICAgICAgIkluY29ycmVjdCBw YXJpdHkgdmFsdWU6ICVkIiwgcGFyaXR5KTsKKyAgICAgIHJldHVybiAtMTsK KyAgICB9CisKKyAgcmV0dXJuIChTZXRDb21tU3RhdGUgKGgsICZzdGF0ZSkg IT0gMCkgPyAwIDogLTE7Cit9CisKIHN0YXRpYyBpbnQKIHNlcl93aW5kb3dz X3NldGJhdWRyYXRlIChzdHJ1Y3Qgc2VyaWFsICpzY2IsIGludCByYXRlKQog ewpAQCAtMTIyNyw2ICsxMjU5LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBz ZXJpYWxfb3BzIGhhcmR3aXJlX29wcyA9CiAgIHNlcl9iYXNlX25vZmx1c2hf c2V0X3R0eV9zdGF0ZSwKICAgc2VyX3dpbmRvd3Nfc2V0YmF1ZHJhdGUsCiAg IHNlcl93aW5kb3dzX3NldHN0b3BiaXRzLAorICBzZXJfd2luZG93c19zZXRw YXJpdHksCiAgIHNlcl93aW5kb3dzX2RyYWluX291dHB1dCwKICAgc2VyX2Jh c2VfYXN5bmMsCiAgIHNlcl93aW5kb3dzX3JlYWRfcHJpbSwKQEAgLTEyNTcs NiArMTI5MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc2VyaWFsX29wcyB0 dHlfb3BzID0KICAgc2VyX2Jhc2Vfbm9mbHVzaF9zZXRfdHR5X3N0YXRlLAog ICBOVUxMLAogICBOVUxMLAorICBOVUxMLAogICBzZXJfYmFzZV9kcmFpbl9v dXRwdXQsCiAgIE5VTEwsCiAgIE5VTEwsCkBAIC0xMjg3LDYgKzEzMjEsNyBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IHNlcmlhbF9vcHMgcGlwZV9vcHMgPQog ICBzZXJfYmFzZV9ub2ZsdXNoX3NldF90dHlfc3RhdGUsCiAgIHNlcl9iYXNl X3NldGJhdWRyYXRlLAogICBzZXJfYmFzZV9zZXRzdG9wYml0cywKKyAgc2Vy X2Jhc2Vfc2V0cGFyaXR5LAogICBzZXJfYmFzZV9kcmFpbl9vdXRwdXQsCiAg IHNlcl9iYXNlX2FzeW5jLAogICBwaXBlX3dpbmRvd3NfcmVhZCwKQEAgLTEz MTcsNiArMTM1Miw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc2VyaWFsX29w cyB0Y3Bfb3BzID0KICAgc2VyX2Jhc2Vfbm9mbHVzaF9zZXRfdHR5X3N0YXRl LAogICBzZXJfYmFzZV9zZXRiYXVkcmF0ZSwKICAgc2VyX2Jhc2Vfc2V0c3Rv cGJpdHMsCisgIHNlcl9iYXNlX3NldHBhcml0eSwKICAgc2VyX2Jhc2VfZHJh aW5fb3V0cHV0LAogICBzZXJfYmFzZV9hc3luYywKICAgbmV0X3JlYWRfcHJp bSwKZGlmZiAtLWdpdCBhL2dkYi9zZXItcGlwZS5jIGIvZ2RiL3Nlci1waXBl LmMKaW5kZXggYmY1ZTRkNC4uMDcwMDEzMiAxMDA2NDQKLS0tIGEvZ2RiL3Nl ci1waXBlLmMKKysrIGIvZ2RiL3Nlci1waXBlLmMKQEAgLTIyNCw2ICsyMjQs NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHNlcmlhbF9vcHMgcGlwZV9vcHMg PQogICBzZXJfYmFzZV9ub2ZsdXNoX3NldF90dHlfc3RhdGUsCiAgIHNlcl9i YXNlX3NldGJhdWRyYXRlLAogICBzZXJfYmFzZV9zZXRzdG9wYml0cywKKyAg c2VyX2Jhc2Vfc2V0cGFyaXR5LAogICBzZXJfYmFzZV9kcmFpbl9vdXRwdXQs CiAgIHNlcl9iYXNlX2FzeW5jLAogICBzZXJfdW5peF9yZWFkX3ByaW0sCmRp ZmYgLS1naXQgYS9nZGIvc2VyLXRjcC5jIGIvZ2RiL3Nlci10Y3AuYwppbmRl eCA5YzNkY2Y0Li4zNTUxMmU2IDEwMDY0NAotLS0gYS9nZGIvc2VyLXRjcC5j CisrKyBiL2dkYi9zZXItdGNwLmMKQEAgLTM5NCw2ICszOTQsNyBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IHNlcmlhbF9vcHMgdGNwX29wcyA9CiAgIHNlcl9i YXNlX25vZmx1c2hfc2V0X3R0eV9zdGF0ZSwKICAgc2VyX2Jhc2Vfc2V0YmF1 ZHJhdGUsCiAgIHNlcl9iYXNlX3NldHN0b3BiaXRzLAorICBzZXJfYmFzZV9z ZXRwYXJpdHksCiAgIHNlcl9iYXNlX2RyYWluX291dHB1dCwKICAgc2VyX2Jh c2VfYXN5bmMsCiAgIG5ldF9yZWFkX3ByaW0sCmRpZmYgLS1naXQgYS9nZGIv c2VyLXVuaXguYyBiL2dkYi9zZXItdW5peC5jCmluZGV4IDQxMjU3OTcuLjI4 MGZiNmEgMTAwNjQ0Ci0tLSBhL2dkYi9zZXItdW5peC5jCisrKyBiL2dkYi9z ZXItdW5peC5jCkBAIC04Myw2ICs4Myw3IEBAIHN0YXRpYyBpbnQgaGFyZHdp cmVfcmVhZGNoYXIgKHN0cnVjdCBzZXJpYWwgKnNjYiwgaW50IHRpbWVvdXQp Owogc3RhdGljIGludCBkb19oYXJkd2lyZV9yZWFkY2hhciAoc3RydWN0IHNl cmlhbCAqc2NiLCBpbnQgdGltZW91dCk7CiBzdGF0aWMgaW50IHJhdGVfdG9f Y29kZSAoaW50IHJhdGUpOwogc3RhdGljIGludCBoYXJkd2lyZV9zZXRiYXVk cmF0ZSAoc3RydWN0IHNlcmlhbCAqc2NiLCBpbnQgcmF0ZSk7CitzdGF0aWMg aW50IGhhcmR3aXJlX3NldHBhcml0eSAoc3RydWN0IHNlcmlhbCAqc2NiLCBp bnQgcGFyaXR5KTsKIHN0YXRpYyB2b2lkIGhhcmR3aXJlX2Nsb3NlIChzdHJ1 Y3Qgc2VyaWFsICpzY2IpOwogc3RhdGljIGludCBnZXRfdHR5X3N0YXRlIChz dHJ1Y3Qgc2VyaWFsICpzY2IsCiAJCQkgIHN0cnVjdCBoYXJkd2lyZV90dHlz dGF0ZSAqIHN0YXRlKTsKQEAgLTQwOSw3ICs0MTAsNyBAQCBoYXJkd2lyZV9y YXcgKHN0cnVjdCBzZXJpYWwgKnNjYikKICAgc3RhdGUudGVybWlvcy5jX2lm bGFnID0gMDsKICAgc3RhdGUudGVybWlvcy5jX29mbGFnID0gMDsKICAgc3Rh dGUudGVybWlvcy5jX2xmbGFnID0gMDsKLSAgc3RhdGUudGVybWlvcy5jX2Nm bGFnICY9IH4oQ1NJWkUgfCBQQVJFTkIpOworICBzdGF0ZS50ZXJtaW9zLmNf Y2ZsYWcgJj0gfkNTSVpFOwogICBzdGF0ZS50ZXJtaW9zLmNfY2ZsYWcgfD0g Q0xPQ0FMIHwgQ1M4OwogI2lmZGVmIENSVFNDVFMKICAgLyogaC93IGZsb3cg Y29udHJvbC4gICovCkBAIC00MzIsNyArNDMzLDcgQEAgaGFyZHdpcmVfcmF3 IChzdHJ1Y3Qgc2VyaWFsICpzY2IpCiAgIHN0YXRlLnRlcm1pby5jX2lmbGFn ID0gMDsKICAgc3RhdGUudGVybWlvLmNfb2ZsYWcgPSAwOwogICBzdGF0ZS50 ZXJtaW8uY19sZmxhZyA9IDA7Ci0gIHN0YXRlLnRlcm1pby5jX2NmbGFnICY9 IH4oQ1NJWkUgfCBQQVJFTkIpOworICBzdGF0ZS50ZXJtaW8uY19jZmxhZyAm PSB+Q1NJWkU7CiAgIHN0YXRlLnRlcm1pby5jX2NmbGFnIHw9IENMT0NBTCB8 IENTODsKICAgc3RhdGUudGVybWlvLmNfY2NbVk1JTl0gPSAwOwogICBzdGF0 ZS50ZXJtaW8uY19jY1tWVElNRV0gPSAwOwpAQCAtODkzLDYgKzg5NCw1MSBA QCBoYXJkd2lyZV9zZXRzdG9wYml0cyAoc3RydWN0IHNlcmlhbCAqc2NiLCBp bnQgbnVtKQogICByZXR1cm4gc2V0X3R0eV9zdGF0ZSAoc2NiLCAmc3RhdGUp OwogfQogCisvKiBJbXBsZW1lbnQgdGhlICJzZXRwYXJpdHkiIHNlcmlhbF9v cHMgY2FsbGJhY2suICAqLworCitzdGF0aWMgaW50CitoYXJkd2lyZV9zZXRw YXJpdHkgKHN0cnVjdCBzZXJpYWwgKnNjYiwgaW50IHBhcml0eSkKK3sKKyAg c3RydWN0IGhhcmR3aXJlX3R0eXN0YXRlIHN0YXRlOworICBpbnQgbmV3cGFy aXR5ID0gMDsKKworICBpZiAoZ2V0X3R0eV9zdGF0ZSAoc2NiLCAmc3RhdGUp KQorICAgIHJldHVybiAtMTsKKworICBzd2l0Y2ggKHBhcml0eSkKKyAgICB7 CisgICAgY2FzZSBHREJQQVJJVFlfTk9ORToKKyAgICAgIG5ld3Bhcml0eSA9 IDA7CisgICAgICBicmVhazsKKyAgICBjYXNlIEdEQlBBUklUWV9PREQ6Cisg ICAgICBuZXdwYXJpdHkgPSBQQVJFTkIgfCBQQVJPREQ7CisgICAgICBicmVh azsKKyAgICBjYXNlIEdEQlBBUklUWV9FVkVOOgorICAgICAgbmV3cGFyaXR5 ID0gUEFSRU5COworICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAg IGludGVybmFsX3dhcm5pbmcgKF9fRklMRV9fLCBfX0xJTkVfXywKKyAgICAg ICAgICAgICAgICAgICJJbmNvcnJlY3QgcGFyaXR5IHZhbHVlOiAlZCIsIHBh cml0eSk7CisgICAgICByZXR1cm4gLTE7CisgICAgfQorCisjaWZkZWYgSEFW RV9URVJNSU9TCisgIHN0YXRlLnRlcm1pb3MuY19jZmxhZyAmPSB+KFBBUkVO QiB8IFBBUk9ERCk7CisgIHN0YXRlLnRlcm1pb3MuY19jZmxhZyB8PSBuZXdw YXJpdHk7CisjZW5kaWYKKworI2lmZGVmIEhBVkVfVEVSTUlPCisgIHN0YXRl LnRlcm1pby5jX2NmbGFnICY9IH4oUEFSRU5CIHwgUEFST0REKTsKKyAgc3Rh dGUudGVybWlvLmNfY2ZsYWcgfD0gbmV3cGFyaXR5OworI2VuZGlmCisKKyNp ZmRlZiBIQVZFX1NHVFRZCisgIHJldHVybiAwOyAgICAgICAgICAgIC8qIHNn dHR5IGRvZXNuJ3Qgc3VwcG9ydCB0aGlzICovCisjZW5kaWYKKyAgcmV0dXJu IHNldF90dHlfc3RhdGUgKHNjYiwgJnN0YXRlKTsKK30KKworCiBzdGF0aWMg dm9pZAogaGFyZHdpcmVfY2xvc2UgKHN0cnVjdCBzZXJpYWwgKnNjYikKIHsK QEAgLTkyOSw2ICs5NzUsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHNlcmlh bF9vcHMgaGFyZHdpcmVfb3BzID0KICAgaGFyZHdpcmVfbm9mbHVzaF9zZXRf dHR5X3N0YXRlLAogICBoYXJkd2lyZV9zZXRiYXVkcmF0ZSwKICAgaGFyZHdp cmVfc2V0c3RvcGJpdHMsCisgIGhhcmR3aXJlX3NldHBhcml0eSwKICAgaGFy ZHdpcmVfZHJhaW5fb3V0cHV0LAogICBzZXJfYmFzZV9hc3luYywKICAgc2Vy X3VuaXhfcmVhZF9wcmltLApkaWZmIC0tZ2l0IGEvZ2RiL3NlcmlhbC5jIGIv Z2RiL3NlcmlhbC5jCmluZGV4IGI3ZTYyMGQuLjc0NTY3ZGIgMTAwNjQ0Ci0t LSBhL2dkYi9zZXJpYWwuYworKysgYi9nZGIvc2VyaWFsLmMKQEAgLTUyNCw2 ICs1MjQsMTQgQEAgc2VyaWFsX3NldHN0b3BiaXRzIChzdHJ1Y3Qgc2VyaWFs ICpzY2IsIGludCBudW0pCiAgIHJldHVybiBzY2ItPm9wcy0+c2V0c3RvcGJp dHMgKHNjYiwgbnVtKTsKIH0KIAorLyogU2VlIHNlcmlhbC5oLiAgKi8KKwor aW50CitzZXJpYWxfc2V0cGFyaXR5IChzdHJ1Y3Qgc2VyaWFsICpzY2IsIGlu dCBwYXJpdHkpCit7CisgIHJldHVybiBzY2ItPm9wcy0+c2V0cGFyaXR5IChz Y2IsIHBhcml0eSk7Cit9CisKIGludAogc2VyaWFsX2Nhbl9hc3luY19wIChz dHJ1Y3Qgc2VyaWFsICpzY2IpCiB7CkBAIC02MzgsNiArNjQ2LDMwIEBAIHNl cmlhbF9iYXVkX3Nob3dfY21kIChzdHJ1Y3QgdWlfZmlsZSAqZmlsZSwgaW50 IGZyb21fdHR5LAogCQkgICAgdmFsdWUpOwogfQogCisvKiBQYXJpdHkgZm9y IHNlcmlhbCBwb3J0LiAgKi8KKworaW50IHNlcmlhbF9wYXJpdHkgPSBHREJQ QVJJVFlfTk9ORTsKKworc3RhdGljIGNvbnN0IGNoYXIgcGFyaXR5X25vbmVb XSA9ICJub25lIjsKK3N0YXRpYyBjb25zdCBjaGFyIHBhcml0eV9vZGRbXSA9 ICJvZGQiOworc3RhdGljIGNvbnN0IGNoYXIgcGFyaXR5X2V2ZW5bXSA9ICJl dmVuIjsKK3N0YXRpYyBjb25zdCBjaGFyICpjb25zdCBwYXJpdHlfZW51bXNb XSA9CisgIHtwYXJpdHlfbm9uZSwgcGFyaXR5X29kZCwgcGFyaXR5X2V2ZW4s ICBOVUxMfTsKK3N0YXRpYyBjb25zdCBjaGFyICpwYXJpdHkgPSBwYXJpdHlf bm9uZTsKKworLyogU2V0IHNlcmlhbF9wYXJpdHkgdmFsdWUuICAqLworCitz dGF0aWMgdm9pZAorc2V0X3Bhcml0eSAoY2hhciAqaWdub3JlX2FyZ3MsIGlu dCBmcm9tX3R0eSwgc3RydWN0IGNtZF9saXN0X2VsZW1lbnQgKmMpCit7Cisg IGlmIChwYXJpdHkgPT0gcGFyaXR5X29kZCkKKyAgICBzZXJpYWxfcGFyaXR5 ID0gR0RCUEFSSVRZX09ERDsKKyAgZWxzZSBpZiAocGFyaXR5ID09IHBhcml0 eV9ldmVuKQorICAgIHNlcmlhbF9wYXJpdHkgPSBHREJQQVJJVFlfRVZFTjsK KyAgZWxzZQorICAgIHNlcmlhbF9wYXJpdHkgPSBHREJQQVJJVFlfTk9ORTsK K30KKwogdm9pZAogX2luaXRpYWxpemVfc2VyaWFsICh2b2lkKQogewpAQCAt NjcwLDYgKzcwMiwxNCBAQCB1c2luZyByZW1vdGUgdGFyZ2V0cy4iKSwKIAkJ CSAgICBzZXJpYWxfYmF1ZF9zaG93X2NtZCwKIAkJCSAgICAmc2VyaWFsX3Nl dF9jbWRsaXN0LCAmc2VyaWFsX3Nob3dfY21kbGlzdCk7CiAKKyAgYWRkX3Nl dHNob3dfZW51bV9jbWQgKCJwYXJpdHkiLCBub19jbGFzcywgcGFyaXR5X2Vu dW1zLAorICAgICAgICAgICAgICAgICAgICAgICAgJnBhcml0eSwgXygiXAor U2V0IHBhcml0eSBmb3IgcmVtb3RlIHNlcmlhbCBJL08iKSwgXygiXAorU2hv dyBwYXJpdHkgZm9yIHJlbW90ZSBzZXJpYWwgSS9PIiksIE5VTEwsCisgICAg ICAgICAgICAgICAgICAgICAgICBzZXRfcGFyaXR5LAorICAgICAgICAgICAg ICAgICAgICAgICAgTlVMTCwgLyogRklYTUU6IGkxOG46ICovCisgICAgICAg ICAgICAgICAgICAgICAgICAmc2VyaWFsX3NldF9jbWRsaXN0LCAmc2VyaWFs X3Nob3dfY21kbGlzdCk7CisKICAgYWRkX3NldHNob3dfZmlsZW5hbWVfY21k ICgicmVtb3RlbG9nZmlsZSIsIG5vX2NsYXNzLCAmc2VyaWFsX2xvZ2ZpbGUs IF8oIlwKIFNldCBmaWxlbmFtZSBmb3IgcmVtb3RlIHNlc3Npb24gcmVjb3Jk aW5nLiIpLCBfKCJcCiBTaG93IGZpbGVuYW1lIGZvciByZW1vdGUgc2Vzc2lv biByZWNvcmRpbmcuIiksIF8oIlwKZGlmZiAtLWdpdCBhL2dkYi9zZXJpYWwu aCBiL2dkYi9zZXJpYWwuaAppbmRleCA5ZWIxYzM5Li5hZGQwZjE1IDEwMDY0 NAotLS0gYS9nZGIvc2VyaWFsLmgKKysrIGIvZ2RiL3NlcmlhbC5oCkBAIC0x ODYsNiArMTg2LDE0IEBAIGV4dGVybiBpbnQgc2VyaWFsX3NldGJhdWRyYXRl IChzdHJ1Y3Qgc2VyaWFsICpzY2IsIGludCByYXRlKTsKIAogZXh0ZXJuIGlu dCBzZXJpYWxfc2V0c3RvcGJpdHMgKHN0cnVjdCBzZXJpYWwgKnNjYiwgaW50 IG51bSk7CiAKKyNkZWZpbmUgR0RCUEFSSVRZX05PTkUgICAgIDAKKyNkZWZp bmUgR0RCUEFSSVRZX09ERCAgICAgIDEKKyNkZWZpbmUgR0RCUEFSSVRZX0VW RU4gICAgIDIKKworLyogU2V0IHBhcml0eSBmb3Igc2VyaWFsIHBvcnQuIFJl dHVybnMgMCBmb3Igc3VjY2VzcywgLTEgZm9yIGZhaWx1cmUuICAqLworCitl eHRlcm4gaW50IHNlcmlhbF9zZXRwYXJpdHkgKHN0cnVjdCBzZXJpYWwgKnNj YiwgaW50IHBhcml0eSk7CisKIC8qIEFzeW5jaHJvbm91cyBzZXJpYWwgaW50 ZXJmYWNlOiAqLwogCiAvKiBDYW4gdGhlIHNlcmlhbCBkZXZpY2Ugc3VwcG9y dCBhc3luY2hyb25vdXMgbW9kZT8gICovCkBAIC0yNzEsNiArMjc5LDkgQEAg c3RydWN0IHNlcmlhbF9vcHMKIAkJCQkgIHNlcmlhbF90dHlzdGF0ZSk7CiAg ICAgaW50ICgqc2V0YmF1ZHJhdGUpIChzdHJ1Y3Qgc2VyaWFsICosIGludCBy YXRlKTsKICAgICBpbnQgKCpzZXRzdG9wYml0cykgKHN0cnVjdCBzZXJpYWwg KiwgaW50IG51bSk7CisgICAgLyogU2V0IHRoZSB2YWx1ZSBQQVJJVFkgYXMg cGFyaXR5IHNldHRpbmcgZm9yIHNlcmlhbCBvYmplY3QuCisgICAgICAgUmV0 dXJuIDAgaW4gdGhlIGNhc2Ugb2Ygc3VjY2Vzcy4gICovCisgICAgaW50ICgq c2V0cGFyaXR5KSAoc3RydWN0IHNlcmlhbCAqLCBpbnQgcGFyaXR5KTsKICAg ICAvKiBXYWl0IGZvciBvdXRwdXQgdG8gZHJhaW4uICAqLwogICAgIGludCAo KmRyYWluX291dHB1dCkgKHN0cnVjdCBzZXJpYWwgKik7CiAgICAgLyogQ2hh bmdlIHRoZSBzZXJpYWwgZGV2aWNlIGludG8vb3V0IG9mIGFzeW5jaHJvbm91 cyBtb2RlLCBjYWxsCmRpZmYgLS1naXQgYS9nZGIvdGFyZ2V0LmggYi9nZGIv dGFyZ2V0LmgKaW5kZXggYzk1ZTFhNC4uMDVkY2Q5ZiAxMDA2NDQKLS0tIGEv Z2RiL3RhcmdldC5oCisrKyBiL2dkYi90YXJnZXQuaApAQCAtMjIzNiw2ICsy MjM2LDEwIEBAIGV4dGVybiBpbnQgcmVtb3RlX2RlYnVnOwogCiAvKiBTcGVl ZCBpbiBiaXRzIHBlciBzZWNvbmQsIG9yIC0xIHdoaWNoIG1lYW5zIGRvbid0 IG1lc3Mgd2l0aCB0aGUgc3BlZWQuICAqLwogZXh0ZXJuIGludCBiYXVkX3Jh dGU7CisKKy8qIFBhcml0eSBmb3Igc2VyaWFsIHBvcnQgICovCitleHRlcm4g aW50IHNlcmlhbF9wYXJpdHk7CisKIC8qIFRpbWVvdXQgbGltaXQgZm9yIHJl c3BvbnNlIGZyb20gdGFyZ2V0LiAgKi8KIGV4dGVybiBpbnQgcmVtb3RlX3Rp bWVvdXQ7CiAKLS0gCjEuNy45LjUKCg== --20cf307f377298787c0511fb3f98--