From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9968 invoked by alias); 1 Sep 2011 11:29:13 -0000 Received: (qmail 9957 invoked by uid 22791); 1 Sep 2011 11:29:11 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,TW_EV,TW_VP X-Spam-Check-By: sourceware.org Received: from mail-vw0-f41.google.com (HELO mail-vw0-f41.google.com) (209.85.212.41) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 01 Sep 2011 11:28:51 +0000 Received: by vwm42 with SMTP id 42so1586174vwm.0 for ; Thu, 01 Sep 2011 04:28:50 -0700 (PDT) Received: by 10.220.107.209 with SMTP id c17mr31365vcp.116.1314876530250; Thu, 01 Sep 2011 04:28:50 -0700 (PDT) MIME-Version: 1.0 Received: by 10.220.189.70 with HTTP; Thu, 1 Sep 2011 04:28:30 -0700 (PDT) In-Reply-To: References: From: Kevin Pouget Date: Thu, 01 Sep 2011 11:41:00 -0000 Message-ID: Subject: Re: [PATCH] Handle multiple breakpoint hits in Python interface To: Eli Zaretskii , Pedro Alves Cc: tromey@redhat.com, gdb-patches@sourceware.org Content-Type: multipart/mixed; boundary=f46d0438911d8253a504abdf8c63 X-IsSubscribed: yes 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 X-SW-Source: 2011-09/txt/msg00013.txt.bz2 --f46d0438911d8253a504abdf8c63 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-length: 2911 On Thu, Sep 1, 2011 at 11:56 AM, Pedro Alves wrote: > Please teach your browser to attach files to gmail as > some text based content type, like patch/diff or > text/x-patch. I'm sorry for that, it was on purpose that I removed the '.patch', but I actually mixed up everything ... =46rom now one there should be no problem, I'll take extra care about it, thanks for the tip (I guess there is no way to clean up the archive ... ?) On Thu, Sep 1, 2011 at 12:12 PM, Eli Zaretskii wrote: >> + ** The "gdb.breakpoint" function has been deprecated and in favor of >> + "gdb.breakpoints". > > Without the "and", this is okay. done >> +@code{gdb.BreakpointEvent} event indicates that one or several breakpoi= nts have > ^^^^^^^^^^^^^^ > "one or more" done >> +@defivar BreakpointEvent breakpoints >> +A sequence containing references to all the breakpoints (type >> +@code{gdb.Breakpoint}) that were hit. >> @xref{Breakpoints In Python}, for details of the @code{gdb.Breakpoint} = object. >> +@defivar BreakpointEvent breakpoint > > This cannot be right: each @defivar should end with the corresponding > "@end defivar". Didn't makeinfo bitch at you? yes sorry it does; I na=EFvely expected `make' to build --and crash-- the documentation >> +A reference to the first breakpoint that was hit of type @code{gdb.Brea= kpoint}. > > As opposed to what? watchpoints, catchpoints etc.? IOW, why do you > need to mention the type issue? these are not my words, I just updated the sentence to mention that it's now deprecated. But you're right, it is redundant with "(type @code{gdb.Breakpoint})" mentioned in the previous lines (I removed it). I understand this precision as a way to tell the Python type of the object, and/or that it's a breakpoint hit, and nothing else (watchpoints/catchpoints are not handled in Python yet, AFAIK) Cordially, Kevin -- 2011-04-30 Kevin Pouget Handle multiple breakpoint hits in Python interface: * gdb.texinfo (Events In Python): New function documentation: gdb.BreakpointEvent.breakpoints. Indicate that gdb.BreakpointEvent.breakpoint is now deprecated. 2011-04-30 Kevin Pouget Handle multiple breakpoint hits in Python interface: * python/py-bpevent.c (create_breakpoint_event_object): Rename C/Python variable to breakpoints. * python/py-stopevent.c (emit_stop_event): Return a Python tuple of bps instead of single breakpoint. Fix some space typos. * python/py-stopevent.c (create_breakpoint_event_object): Rename variable to breakpoints. 2011-04-30 Kevin Pouget Handle multiple breakpoint hits in Python interface: * gdb.python/py-events.exp: Set a duplicate breakpoint and check its presence. * gdb.python/py-events.py (breakpoint_stop_handler): Browse all the breakpoint hits. --f46d0438911d8253a504abdf8c63 Content-Type: text/x-patch; charset=US-ASCII; name="0001-Handle-multiple-breakpoint-hits-in-Python-interface.patch" Content-Disposition: attachment; filename="0001-Handle-multiple-breakpoint-hits-in-Python-interface.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gs1nd71o0 Content-length: 10094 RnJvbSA3MWI3ZjkwODZmM2NhYjM5MjQ1OWRhYmYxMDJmMzNkMGQ4ODA1M2E4 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLZXZpbiBQb3VnZXQg PGtldmluLnBvdWdldEBzdC5jb20+CkRhdGU6IFRodSwgMSBTZXAgMjAxMSAx MDoyNzowOSArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIEhhbmRsZSBtdWx0aXBs ZSBicmVha3BvaW50IGhpdHMgaW4gUHl0aG9uIGludGVyZmFjZQoKLS0tCiBn ZGIvTkVXUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMg KysKIGdkYi9kb2MvZ2RiLnRleGluZm8gICAgICAgICAgICAgICAgICAgIHwg ICAxMyArKysrKystLS0KIGdkYi9weXRob24vcHktYnBldmVudC5jICAgICAg ICAgICAgICAgIHwgICAgOCArKysrLQogZ2RiL3B5dGhvbi9weS1zdG9wZXZl bnQuYyAgICAgICAgICAgICAgfCAgIDQzICsrKysrKysrKysrKysrKysrKysr KysrKystLS0tLS0KIGdkYi9weXRob24vcHktc3RvcGV2ZW50LmggICAgICAg ICAgICAgIHwgICAgMyArLQogZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5 LWV2ZW50cy5leHAgfCAgICAzICsrCiBnZGIvdGVzdHN1aXRlL2dkYi5weXRo b24vcHktZXZlbnRzLnB5ICB8ICAgIDQgKystCiA3IGZpbGVzIGNoYW5nZWQs IDYwIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2dkYi9ORVdTIGIvZ2RiL05FV1MKaW5kZXggMjU1YTIyZS4uMmMyNzMz NyAxMDA2NDQKLS0tIGEvZ2RiL05FV1MKKysrIGIvZ2RiL05FV1MKQEAgLTM4 LDYgKzM4LDkgQEAKIAogICAqKiBTeW1ib2xzIG5vdyBwcm92aWRlIHRoZSAi dHlwZSIgYXR0cmlidXRlLCB0aGUgdHlwZSBvZiB0aGUgc3ltYm9sLgogCisg ICoqIFRoZSAiZ2RiLmJyZWFrcG9pbnQiIGZ1bmN0aW9uIGhhcyBiZWVuIGRl cHJlY2F0ZWQgaW4gZmF2b3Igb2YKKyAgICAgImdkYi5icmVha3BvaW50cyIu CisKICogbGlidGhyZWFkLWRiLXNlYXJjaC1wYXRoIG5vdyBzdXBwb3J0cyB0 d28gc3BlY2lhbCB2YWx1ZXM6ICRzZGlyIGFuZCAkcGRpci4KICAgJHNkaXIg c3BlY2lmaWVzIHRoZSBkZWZhdWx0IHN5c3RlbSBsb2NhdGlvbnMgb2Ygc2hh cmVkIGxpYnJhcmllcy4KICAgJHBkaXIgc3BlY2lmaWVzIHRoZSBkaXJlY3Rv cnkgd2hlcmUgdGhlIGxpYnB0aHJlYWQgdXNlZCBieSB0aGUgYXBwbGljYXRp b24KZGlmZiAtLWdpdCBhL2dkYi9kb2MvZ2RiLnRleGluZm8gYi9nZGIvZG9j L2dkYi50ZXhpbmZvCmluZGV4IDIzYjJhOTguLmNhOGI1MGUgMTAwNjQ0Ci0t LSBhL2dkYi9kb2MvZ2RiLnRleGluZm8KKysrIGIvZ2RiL2RvYy9nZGIudGV4 aW5mbwpAQCAtMjIzMTcsMTQgKzIyMzE3LDE5IEBAIHRoZSBAdmFsdWV7R0RC Tn0gY29tbWFuZCBwcm9tcHQuCiAKIEFsc28gZW1pdHMgIEBjb2Rle2dkYi5C cmVha3BvaW50RXZlbnR9IHdoaWNoIGV4dGVuZHMgQGNvZGV7Z2RiLlN0b3BF dmVudH0uCiAKLUBjb2Rle2dkYi5CcmVha3BvaW50RXZlbnR9IGV2ZW50IGlu ZGljYXRlcyB0aGF0IGEgYnJlYWtwb2ludCBoYXMgYmVlbiBoaXQsIGFuZAot aGFzIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlczoKK0Bjb2Rle2dkYi5CcmVh a3BvaW50RXZlbnR9IGV2ZW50IGluZGljYXRlcyB0aGF0IG9uZSBvciBtb3Jl IGJyZWFrcG9pbnRzIGhhdmUKK2JlZW4gaGl0LCBhbmQgaGFzIHRoZSBmb2xs b3dpbmcgYXR0cmlidXRlczoKIAogQHRhYmxlIEBjb2RlCi1AZGVmaXZhciBC cmVha3BvaW50RXZlbnQgYnJlYWtwb2ludAotQSByZWZlcmVuY2UgdG8gdGhl IGJyZWFrcG9pbnQgdGhhdCB3YXMgaGl0IG9mIHR5cGUgQGNvZGV7Z2RiLkJy ZWFrcG9pbnR9LgorQGRlZml2YXIgQnJlYWtwb2ludEV2ZW50IGJyZWFrcG9p bnRzCitBIHNlcXVlbmNlIGNvbnRhaW5pbmcgcmVmZXJlbmNlcyB0byBhbGwg dGhlIGJyZWFrcG9pbnRzICh0eXBlIAorQGNvZGV7Z2RiLkJyZWFrcG9pbnR9 KSB0aGF0IHdlcmUgaGl0LgogQHhyZWZ7QnJlYWtwb2ludHMgSW4gUHl0aG9u fSwgZm9yIGRldGFpbHMgb2YgdGhlIEBjb2Rle2dkYi5CcmVha3BvaW50fSBv YmplY3QuCiBAZW5kIGRlZml2YXIKK0BkZWZpdmFyIEJyZWFrcG9pbnRFdmVu dCBicmVha3BvaW50CitBIHJlZmVyZW5jZSB0byB0aGUgZmlyc3QgYnJlYWtw b2ludCB0aGF0IHdhcyBoaXQuCitUaGlzIGZ1bmN0aW9uIGlzIG1haW50YWlu ZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgYW5kIGlzIG5vdyBkZXBy ZWNhdGVkIAoraW4gZmF2b3Igb2YgdGhlIEBjb2Rle2dkYi5CcmVha3BvaW50 RXZlbnQuYnJlYWtwb2ludHN9IGZ1bmN0aW9uLgogQGVuZCB0YWJsZQogCiBA ZW5kIHRhYmxlCmRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5LWJwZXZlbnQu YyBiL2dkYi9weXRob24vcHktYnBldmVudC5jCmluZGV4IGM3Zjc5NjUuLmYz N2IyNDggMTAwNjQ0Ci0tLSBhL2dkYi9weXRob24vcHktYnBldmVudC5jCisr KyBiL2dkYi9weXRob24vcHktYnBldmVudC5jCkBAIC0yNCw3ICsyNCw3IEBA IHN0YXRpYyBQeVR5cGVPYmplY3QgYnJlYWtwb2ludF9ldmVudF9vYmplY3Rf dHlwZTsKIC8qIENyZWF0ZSBhbmQgaW5pdGlhbGl6ZSBhIEJyZWFrcG9pbnRF dmVudCBvYmplY3QuICAqLwogCiBQeU9iamVjdCAqCi1jcmVhdGVfYnJlYWtw b2ludF9ldmVudF9vYmplY3QgKFB5T2JqZWN0ICpicmVha3BvaW50KQorY3Jl YXRlX2JyZWFrcG9pbnRfZXZlbnRfb2JqZWN0IChQeU9iamVjdCAqYnJlYWtw b2ludF9saXN0LCBQeU9iamVjdCAqZmlyc3RfYnApCiB7CiAgIFB5T2JqZWN0 ICpicmVha3BvaW50X2V2ZW50X29iaiA9CiAgICAgICBjcmVhdGVfc3RvcF9l dmVudF9vYmplY3QgKCZicmVha3BvaW50X2V2ZW50X29iamVjdF90eXBlKTsK QEAgLTM0LDcgKzM0LDExIEBAIGNyZWF0ZV9icmVha3BvaW50X2V2ZW50X29i amVjdCAoUHlPYmplY3QgKmJyZWFrcG9pbnQpCiAKICAgaWYgKGV2cHlfYWRk X2F0dHJpYnV0ZSAoYnJlYWtwb2ludF9ldmVudF9vYmosCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICJicmVha3BvaW50IiwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgYnJlYWtwb2ludCkgPCAwKQorICAgICAgICAgICAgICAg ICAgICAgICAgICBmaXJzdF9icCkgPCAwKQorICAgIGdvdG8gZmFpbDsKKyAg aWYgKGV2cHlfYWRkX2F0dHJpYnV0ZSAoYnJlYWtwb2ludF9ldmVudF9vYmos CisgICAgICAgICAgICAgICAgICAgICAgICAgICJicmVha3BvaW50cyIsCisg ICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrcG9pbnRfbGlzdCkgPCAw KQogICAgIGdvdG8gZmFpbDsKIAogICByZXR1cm4gYnJlYWtwb2ludF9ldmVu dF9vYmo7CmRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5LXN0b3BldmVudC5j IGIvZ2RiL3B5dGhvbi9weS1zdG9wZXZlbnQuYwppbmRleCAxMjJmZTZiLi4x ZWNiZTZjIDEwMDY0NAotLS0gYS9nZGIvcHl0aG9uL3B5LXN0b3BldmVudC5j CisrKyBiL2dkYi9weXRob24vcHktc3RvcGV2ZW50LmMKQEAgLTQ1LDE4ICs0 NSw0MiBAQCBpbnQKIGVtaXRfc3RvcF9ldmVudCAoc3RydWN0IGJwc3RhdHMg KmJzLCBlbnVtIHRhcmdldF9zaWduYWwgc3RvcF9zaWduYWwpCiB7CiAgIFB5 T2JqZWN0ICpzdG9wX2V2ZW50X29iaiA9IE5VTEw7IC8qIEFwcGVhc2UgR0ND IHdhcm5pbmcuICAqLworICBQeU9iamVjdCAqbGlzdCA9IE5VTEw7CisgIFB5 T2JqZWN0ICpmaXJzdF9icCA9IE5VTEw7CisgIHN0cnVjdCBicHN0YXRzICpj dXJyZW50X2JzOwogCiAgIGlmIChldnJlZ3B5X25vX2xpc3RlbmVyc19wIChn ZGJfcHlfZXZlbnRzLnN0b3ApKQogICAgIHJldHVybiAwOwogCi0gIGlmIChi cyAmJiBicy0+YnJlYWtwb2ludF9hdAotICAgICAgJiYgYnMtPmJyZWFrcG9p bnRfYXQtPnB5X2JwX29iamVjdCkKKyAgLyogQWRkIGFueSBicmVha3BvaW50 IHNldCBhdCB0aGlzIGxvY2F0aW9uIHRvIHRoZSBsaXN0LiAgKi8KKyAgZm9y IChjdXJyZW50X2JzID0gYnM7IGN1cnJlbnRfYnMgIT0gTlVMTDsgY3VycmVu dF9icyA9IGN1cnJlbnRfYnMtPm5leHQpCiAgICAgewotICAgICAgc3RvcF9l dmVudF9vYmogPSBjcmVhdGVfYnJlYWtwb2ludF9ldmVudF9vYmplY3QgKChQ eU9iamVjdCAqKSBicwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC0+YnJlYWtwb2ludF9hdAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC0+cHlfYnBfb2JqZWN0KTsKKyAgICAgIGlmIChjdXJyZW50X2Jz LT5icmVha3BvaW50X2F0CisgICAgICAgICAgJiYgY3VycmVudF9icy0+YnJl YWtwb2ludF9hdC0+cHlfYnBfb2JqZWN0KQorICAgICAgICB7CisgICAgICAg ICAgUHlPYmplY3QgKmN1cnJlbnRfcHlfYnAgPQorICAgICAgICAgICAgICAo UHlPYmplY3QgKikgY3VycmVudF9icy0+YnJlYWtwb2ludF9hdC0+cHlfYnBf b2JqZWN0OworCisgICAgICAgICAgaWYgKGxpc3QgPT0gTlVMTCkKKyAgICAg ICAgICAgIHsKKyAgICAgICAgICAgICAgbGlzdCA9IFB5TGlzdF9OZXcgKDAp OworICAgICAgICAgICAgICBpZiAoIWxpc3QpCisgICAgICAgICAgICAgICAg Z290byBmYWlsOworICAgICAgICAgICAgfQorCisgICAgICAgICAgaWYgKFB5 TGlzdF9BcHBlbmQgKGxpc3QsIGN1cnJlbnRfcHlfYnApKQorICAgICAgICAg ICAgZ290byBmYWlsOworCisgICAgICAgICAgaWYgKGZpcnN0X2JwID09IE5V TEwpCisgICAgICAgICAgICBmaXJzdF9icCA9IGN1cnJlbnRfcHlfYnA7Cisg ICAgICAgIH0KKyAgICB9CisKKyAgaWYgKGxpc3QgIT0gTlVMTCkKKyAgICB7 CisgICAgICBzdG9wX2V2ZW50X29iaiA9IGNyZWF0ZV9icmVha3BvaW50X2V2 ZW50X29iamVjdCAobGlzdCwgZmlyc3RfYnApOwogICAgICAgaWYgKCFzdG9w X2V2ZW50X29iaikKLQlnb3RvIGZhaWw7CisgICAgICAgIGdvdG8gZmFpbDsK ICAgICB9CiAKICAgLyogQ2hlY2sgaWYgdGhlIHNpZ25hbCBpcyAiU2lnbmFs IDAiIG9yICJUcmFjZS9icmVha3BvaW50IHRyYXAiLiAgKi8KQEAgLTc1LDEz ICs5OSwxNCBAQCBlbWl0X3N0b3BfZXZlbnQgKHN0cnVjdCBicHN0YXRzICpi cywgZW51bSB0YXJnZXRfc2lnbmFsIHN0b3Bfc2lnbmFsKQogICAgIHsKICAg ICAgIHN0b3BfZXZlbnRfb2JqID0gY3JlYXRlX3N0b3BfZXZlbnRfb2JqZWN0 ICgmc3RvcF9ldmVudF9vYmplY3RfdHlwZSk7CiAgICAgICBpZiAoIXN0b3Bf ZXZlbnRfb2JqKQotCWdvdG8gZmFpbDsKKyAgICAgICAgZ290byBmYWlsOwog ICAgIH0KIAogICByZXR1cm4gZXZweV9lbWl0X2V2ZW50IChzdG9wX2V2ZW50 X29iaiwgZ2RiX3B5X2V2ZW50cy5zdG9wKTsKIAotICBmYWlsOgotICAgcmV0 dXJuIC0xOworIGZhaWw6CisgIFB5X1hERUNSRUYgKGxpc3QpOworICByZXR1 cm4gLTE7CiB9CiAKIEdEQlBZX05FV19FVkVOVF9UWVBFIChzdG9wLApkaWZm IC0tZ2l0IGEvZ2RiL3B5dGhvbi9weS1zdG9wZXZlbnQuaCBiL2dkYi9weXRo b24vcHktc3RvcGV2ZW50LmgKaW5kZXggNTJmMzUxMS4uODVhYzRkMyAxMDA2 NDQKLS0tIGEvZ2RiL3B5dGhvbi9weS1zdG9wZXZlbnQuaAorKysgYi9nZGIv cHl0aG9uL3B5LXN0b3BldmVudC5oCkBAIC0yOCw3ICsyOCw4IEBAIGV4dGVy biB2b2lkIHN0b3BfZXZweV9kZWFsbG9jIChQeU9iamVjdCAqc2VsZik7CiBl eHRlcm4gaW50IGVtaXRfc3RvcF9ldmVudCAoc3RydWN0IGJwc3RhdHMgKmJz LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gdGFyZ2V0X3Np Z25hbCBzdG9wX3NpZ25hbCk7CiAKLWV4dGVybiBQeU9iamVjdCAqY3JlYXRl X2JyZWFrcG9pbnRfZXZlbnRfb2JqZWN0IChQeU9iamVjdCAqYnJlYWtwb2lu dCk7CitleHRlcm4gUHlPYmplY3QgKmNyZWF0ZV9icmVha3BvaW50X2V2ZW50 X29iamVjdCAoUHlPYmplY3QgKmJyZWFrcG9pbnRfbGlzdCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQeU9i amVjdCAqZmlyc3RfYnApOwogCiBleHRlcm4gUHlPYmplY3QgKmNyZWF0ZV9z aWduYWxfZXZlbnRfb2JqZWN0IChlbnVtIHRhcmdldF9zaWduYWwgc3RvcF9z aWduYWwpOwogCmRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRo b24vcHktZXZlbnRzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9w eS1ldmVudHMuZXhwCmluZGV4IGU1ZDZkYWYuLjhlZmYxNjUgMTAwNjQ0Ci0t LSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1ldmVudHMuZXhwCisr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1ldmVudHMuZXhwCkBA IC00NSwxMiArNDUsMTUgQEAgaWYgIVtydW50b19tYWluIF0gdGhlbiB7CiBn ZGJfdGVzdCAiVGVzdF9FdmVudHMiICJFdmVudCB0ZXN0ZXJzIHJlZ2lzdGVy ZWQuIgogCiBnZGJfYnJlYWtwb2ludCAiZmlyc3QiCitnZGJfYnJlYWtwb2lu dCAiZmlyc3QiCiAKICMgVGVzdCBjb250aW51ZSBldmVudCBhbmQgYnJlYWtw b2ludCBzdG9wIGV2ZW50CiBnZGJfdGVzdCAiY29udGludWUiICIuKmV2ZW50 IHR5cGU6IGNvbnRpbnVlLioKIC4qZXZlbnQgdHlwZTogc3RvcC4qCiAuKnN0 b3AgcmVhc29uOiBicmVha3BvaW50LioKKy4qZmlyc3QgYnJlYWtwb2ludCBu dW1iZXI6IDIuKgogLipicmVha3BvaW50IG51bWJlcjogMi4qCisuKmJyZWFr cG9pbnQgbnVtYmVyOiAzLioKIGFsbCB0aHJlYWRzIHN0b3BwZWQiCiAKICN0 ZXN0IGV4aXRlZCBldmVudC4KZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv Z2RiLnB5dGhvbi9weS1ldmVudHMucHkgYi9nZGIvdGVzdHN1aXRlL2dkYi5w eXRob24vcHktZXZlbnRzLnB5CmluZGV4IDlmMDViOWYuLjEwYWVhNGYgMTAw NjQ0Ci0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1ldmVudHMu cHkKKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWV2ZW50cy5w eQpAQCAtMzEsNyArMzEsOSBAQCBkZWYgYnJlYWtwb2ludF9zdG9wX2hhbmRs ZXIgKGV2ZW50KToKICAgICAgICAgcHJpbnQgImV2ZW50IHR5cGU6IHN0b3Ai CiAgICAgaWYgKGlzaW5zdGFuY2UgKGV2ZW50LCBnZGIuQnJlYWtwb2ludEV2 ZW50KSk6CiAgICAgICAgIHByaW50ICJzdG9wIHJlYXNvbjogYnJlYWtwb2lu dCIKLSAgICAgICAgcHJpbnQgImJyZWFrcG9pbnQgbnVtYmVyOiAlcyIgJSAo ZXZlbnQuYnJlYWtwb2ludC5udW1iZXIpCisgICAgICAgIHByaW50ICJmaXJz dCBicmVha3BvaW50IG51bWJlcjogJXMiICUgKGV2ZW50LmJyZWFrcG9pbnQu bnVtYmVyKQorICAgICAgICBmb3IgYnAgaW4gZXZlbnQuYnJlYWtwb2ludHM6 CisgICAgICAgIAlwcmludCAiYnJlYWtwb2ludCBudW1iZXI6ICVzIiAlIChi cC5udW1iZXIpCiAgICAgICAgIGlmICggZXZlbnQuaW5mZXJpb3JfdGhyZWFk IGlzIG5vdCBOb25lKSA6CiAgICAgICAgICAgICBwcmludCAidGhyZWFkIG51 bTogJXMiICUgKGV2ZW50LmluZmVyaW9yX3RocmVhZC5udW0pOwogICAgICAg ICBlbHNlOgotLSAKMS43LjYKCg== --f46d0438911d8253a504abdf8c63--