From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Pip Cet Newsgroups: gmane.emacs.bugs Subject: bug#46965: 28.0.50; unexec does not build (or work) Date: Sat, 6 Mar 2021 19:07:02 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000168bbe05bce2eade" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="15406"; mail-complaints-to="usenet@ciao.gmane.io" To: 46965@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Mar 06 20:08:14 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lIcHe-0003rj-2T for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 06 Mar 2021 20:08:14 +0100 Original-Received: from localhost ([::1]:33592 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lIcHd-000600-0n for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 06 Mar 2021 14:08:13 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:37858) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lIcHW-0005zt-23 for bug-gnu-emacs@gnu.org; Sat, 06 Mar 2021 14:08:06 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:55038) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lIcHS-0004JC-AF for bug-gnu-emacs@gnu.org; Sat, 06 Mar 2021 14:08:05 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lIcHS-0007gE-4b for bug-gnu-emacs@gnu.org; Sat, 06 Mar 2021 14:08:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Pip Cet Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 06 Mar 2021 19:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 46965 X-GNU-PR-Package: emacs Original-Received: via spool by 46965-submit@debbugs.gnu.org id=B46965.161505767229507 (code B ref 46965); Sat, 06 Mar 2021 19:08:02 +0000 Original-Received: (at 46965) by debbugs.gnu.org; 6 Mar 2021 19:07:52 +0000 Original-Received: from localhost ([127.0.0.1]:38351 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIcHG-0007fo-B8 for submit@debbugs.gnu.org; Sat, 06 Mar 2021 14:07:52 -0500 Original-Received: from mail-ot1-f46.google.com ([209.85.210.46]:42727) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lIcHB-0007fW-4p for 46965@debbugs.gnu.org; Sat, 06 Mar 2021 14:07:48 -0500 Original-Received: by mail-ot1-f46.google.com with SMTP id e45so5221650ote.9 for <46965@debbugs.gnu.org>; Sat, 06 Mar 2021 11:07:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=mpfsbPNLjKoznbDaLnS1YYuZZUoZrpT7bo40+pUB9YQ=; b=s2KK50KPDvYUJmVZbPUsKsV6DrVNkoDCpJ+1EmfdmdJV7aw5y1kZSI7sHxXvzcPpAb HM7LlHVOZn/oqRmjivjn5p0xnShAyLyBGA7Rq4AH4xQexIGPontd6ZjoxX+MlkQWPKKg RxmJyxqs6yiQuSIM84D3+8YZBtJyQltnxQajh4J04RJ7zwotAuL2DuROqe4/9uiRhGxz zS+VOZ4H5oGwfqbyWvVhwSPyx3ATtM1rO/EXiL/CTDcDaYvbuuSNAvGbIUlbQB4xLukU NYL/hU8gzqHtsHY8dZ/8VbSbOVvZu8Yx1/zhRtSzU7leJ8kTDDu2jhK2+OmoXL+e/Bks wkiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=mpfsbPNLjKoznbDaLnS1YYuZZUoZrpT7bo40+pUB9YQ=; b=Ff0LHtcEZc+oYazVffCy1RbZVxFfxraK1wIcP5uCc5vT4rMP1jPbhJAQKj1pcPGGFV v9TiC8o7XheYg3phxvJIRjLtxDhxzM0BmzjvVU82+Ypuk58+1OxblI/VXs9bCXjBX0A3 OfzD7ZrtyXjx4guyOPb4hNaIT93mFqCDFZsA1AolKh6SLMVyNOxEnfHBh+ImeOFiDatG BuF3/E21McsQc31PDQgvxu2HOlTNxiOBfOZPJBHrVj6JACa0TrKGG7++ma+AWjym/1Ed T6eA1U61vyXU08x7fzoucBbqkr+9t7jf2ObONjaajwCkEBwe69uMT1KKZeM/mhGrBmYy AmGQ== X-Gm-Message-State: AOAM5314NgTOG9KHNJOkPpScDIwaC3QMlwGhfZs+x1sGPxmiGgUG66Uy gXVGFGIDduQTWNmtaMjSt97jLm/tgFWPidaLKm2dU1M2xt4= X-Google-Smtp-Source: ABdhPJwCyRE2wSLRUYrFB3F4l95Xv87Ln6rLdcIVbembiWTkQVSl1GEdk5vjyWOwoPo3ltqaM59qVj///TPDADwxYrw= X-Received: by 2002:a05:6830:11d4:: with SMTP id v20mr13073790otq.287.1615057659516; Sat, 06 Mar 2021 11:07:39 -0800 (PST) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:201668 Archived-At: --000000000000168bbe05bce2eade Content-Type: text/plain; charset="UTF-8" On Sat, Mar 6, 2021 at 2:03 PM Pip Cet wrote: > But unexec does provide performance advantages over pdumper, and even > over undumped builds. That, by the way, is because of pure space. Here's the patch to make unexec build. Note that this patch removes the free() wrapper from lib/, so if your libc's free() is broken and sets errno, that bug will be once again exposed. --000000000000168bbe05bce2eade Content-Type: text/x-patch; charset="UTF-8"; name="0001-fix-build-with-dumping-unexec.patch" Content-Disposition: attachment; filename="0001-fix-build-with-dumping-unexec.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kly3le7g0 RnJvbSBmYWM4YzI3M2EwYjEyNzkwZTYyMDJmNmRkYWY5MTE2NzY4NWVjNjk5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQaXAgQ2V0IDxwaXBjZXRAZ21haWwuY29tPgpEYXRlOiBGcmks IDUgTWFyIDIwMjEgMTk6MzA6NDAgKzAwMDAKU3ViamVjdDogW1BBVENIXSBmaXggYnVpbGQgd2l0 aCAtLWR1bXBpbmc9dW5leGVjCgotLS0KIGNvbmZpZ3VyZS5hYyAgICAgICAgICAgICAgICB8ICAg MiArLQogbGliL01ha2VmaWxlLmluICAgICAgICAgICAgIHwgICAyICstCiBsaWIvZ2xfb3BlbnNz bC5oICAgICAgICAgICAgfCAxMTYgKysrKysrKysrKysrKysrCiBsaWIvZ251bGliLm1rLmluICAg ICAgICAgICAgfCAgIDQgKy0KIGxpc3AvZW1hY3MtbGlzcC9ieXRlY29tcC5lbCB8ICAgMiArLQog bTQvZmNudGwtby5tNCAgICAgICAgICAgICAgIHwgMTQwICsrKysrKysrKysrKysrKysrKwogbTQv Z2wtb3BlbnNzbC5tNCAgICAgICAgICAgIHwgIDY2ICsrKysrKysrKwogbTQvZ251bGliLWNhY2hl Lm00ICAgICAgICAgIHwgMjgyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog bTQvZ251bGliLWNvbXAubTQgICAgICAgICAgIHwgIDIzICsrLQogbTQvZ251bGliLXRvb2wubTQg ICAgICAgICAgIHwgIDU3ICsrKysrKysrCiBtNC9tYW55d2FybmluZ3MtYysrLm00ICAgICAgfCAy NDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbTQvd2Fybi1vbi11c2UubTQgICAg ICAgICAgIHwgIDQ5ICsrKysrKysKIG00L3dpbnRfdC5tNCAgICAgICAgICAgICAgICB8ICA1NyAr KysrKysrKwogc3JjL3BkdW1wZXIuYyAgICAgICAgICAgICAgIHwgICA2ICstCiAxNCBmaWxlcyBj aGFuZ2VkLCAxMDM3IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg MTAwNjQ0IGxpYi9nbF9vcGVuc3NsLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBtNC9mY250bC1vLm00 CiBjcmVhdGUgbW9kZSAxMDA2NDQgbTQvZ2wtb3BlbnNzbC5tNAogY3JlYXRlIG1vZGUgMTAwNjQ0 IG00L2dudWxpYi1jYWNoZS5tNAogY3JlYXRlIG1vZGUgMTAwNjQ0IG00L2dudWxpYi10b29sLm00 CiBjcmVhdGUgbW9kZSAxMDA2NDQgbTQvbWFueXdhcm5pbmdzLWMrKy5tNAogY3JlYXRlIG1vZGUg MTAwNjQ0IG00L3dhcm4tb24tdXNlLm00CiBjcmVhdGUgbW9kZSAxMDA2NDQgbTQvd2ludF90Lm00 CgpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDExYTA2YTM5 YmVlM2YuLjgzNTMwN2FjNDc3ZGMgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25m aWd1cmUuYWMKQEAgLTIyODgsNyArMjI4OCw3IEBAIEFDX0RFRlVOCiBjYXNlICIkb3BzeXMiIGlu CiAgICMjIGRhcndpbiBsZCBpbnNpc3RzIG9uIHRoZSB1c2Ugb2YgbWFsbG9jIHJvdXRpbmVzIGlu IHRoZSBTeXN0ZW0gZnJhbWV3b3JrLgogICBkYXJ3aW4gfCBtaW5ndzMyIHwgbmFjbCB8IHNvbGFy aXMpIDs7Ci0gIGN5Z3dpbiB8IHFueG50byB8IGZyZWVic2QpCisgIGN5Z3dpbiB8IHFueG50byB8 IGZyZWVic2QgfCBnbnUtbGludXggKQogCSAgaHlicmlkX21hbGxvYz15ZXMKICAgICAgICAgICBz eXN0ZW1fbWFsbG9jPSA7OwogICAqKSB0ZXN0ICIkYWNfY3ZfZnVuY19zYnJrIiA9IHllcyAmJiBz eXN0ZW1fbWFsbG9jPSRlbWFjc19jdl9zYW5pdGl6ZV9hZGRyZXNzOzsKZGlmZiAtLWdpdCBhL2xp Yi9NYWtlZmlsZS5pbiBiL2xpYi9NYWtlZmlsZS5pbgppbmRleCA5MWE2YjVmZjNmMTZlLi5hMzAy MTE1MGFlYzFiIDEwMDY0NAotLS0gYS9saWIvTWFrZWZpbGUuaW4KKysrIGIvbGliL01ha2VmaWxl LmluCkBAIC04Nyw3ICs4Nyw3IEBAIG5vdF9lbWFjc19PQkpFQ1RTID0KIGxpYmdudV9hX09CSkVD VFMgPSBmaW5nZXJwcmludC5vICQoZ2xfTElCT0JKUykgXAogICAkKHBhdHN1YnN0ICUuYywlLm8s JChmaWx0ZXIgJS5jLCQobGliZ251X2FfU09VUkNFUykpKQogZm9yX2VtYWNzX09CSkVDVFMgPSAk KGZpbHRlci1vdXQgJChub3RfZW1hY3NfT0JKRUNUUyksJChsaWJnbnVfYV9PQkpFQ1RTKSkKLWxp YmVnbnVfYV9PQkpFQ1RTID0gJChwYXRzdWJzdCAlLm8sZS0lLm8sJChmb3JfZW1hY3NfT0JKRUNU UykpCitsaWJlZ251X2FfT0JKRUNUUyA9ICQocGF0c3Vic3QgZS1tYWxsb2MvJSxtYWxsb2MvZS0l LCQocGF0c3Vic3QgJS5vLGUtJS5vLCQoZm9yX2VtYWNzX09CSkVDVFMpKSkKIAogJChsaWJlZ251 X2FfT0JKRUNUUykgJChsaWJnbnVfYV9PQkpFQ1RTKTogJChCVUlMVF9TT1VSQ0VTKQogCmRpZmYg LS1naXQgYS9saWIvZ2xfb3BlbnNzbC5oIGIvbGliL2dsX29wZW5zc2wuaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi42YzliNzBhNTg3Nzc3Ci0tLSAvZGV2L251bGwK KysrIGIvbGliL2dsX29wZW5zc2wuaApAQCAtMCwwICsxLDExNiBAQAorLyogV3JhcCBvcGVuc3Ns IGNyeXB0byBoYXNoIHJvdXRpbmVzIGluIGdudWxpYiBpbnRlcmZhY2UuICAtKi0gY29kaW5nOiB1 dGYtOCAtKi0KKworICAgQ29weXJpZ2h0IChDKSAyMDEzLTIwMjEgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor ICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElm IG5vdCwgc2VlIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisvKiBXcml0 dGVuIGJ5IFDDoWRyYWlnIEJyYWR5ICovCisKKyNpZm5kZWYgR0xfT1BFTlNTTF9OQU1FCisjIGVy cm9yICJQbGVhc2UgZGVmaW5lIEdMX09QRU5TU0xfTkFNRSB0byAxLDUsMjU2IGV0Yy4iCisjZW5k aWYKKworI2lmbmRlZiBfR0xfSU5MSU5FX0hFQURFUl9CRUdJTgorIyBlcnJvciAiUGxlYXNlIGlu Y2x1ZGUgY29uZmlnLmggZmlyc3QuIgorI2VuZGlmCitfR0xfSU5MSU5FX0hFQURFUl9CRUdJTgor I2lmbmRlZiBHTF9PUEVOU1NMX0lOTElORQorIyBkZWZpbmUgR0xfT1BFTlNTTF9JTkxJTkUgX0dM X0lOTElORQorI2VuZGlmCisKKy8qIENvbmNhdGVuYXRlIHR3byBwcmVwcm9jZXNzb3IgdG9rZW5z LiAgKi8KKyNkZWZpbmUgX0dMQ1JZUFRPX0NPTkNBVF8ocHJlZml4LCBzdWZmaXgpIHByZWZpeCMj c3VmZml4CisjZGVmaW5lIF9HTENSWVBUT19DT05DQVQocHJlZml4LCBzdWZmaXgpIF9HTENSWVBU T19DT05DQVRfIChwcmVmaXgsIHN1ZmZpeCkKKworI2lmIEdMX09QRU5TU0xfTkFNRSA9PSA1Cisj IGRlZmluZSBPUEVOU1NMX0FMRyBtZDUKKyNlbHNlCisjIGRlZmluZSBPUEVOU1NMX0FMRyBfR0xD UllQVE9fQ09OQ0FUIChzaGEsIEdMX09QRU5TU0xfTkFNRSkKKyNlbmRpZgorCisvKiBDb250ZXh0 IHR5cGUgbWFwcGluZ3MuICAqLworI2lmIEJBU0VfT1BFTlNTTF9UWVBFICE9IEdMX09QRU5TU0xf TkFNRQorIyB1bmRlZiBCQVNFX09QRU5TU0xfVFlQRQorIyBpZiBHTF9PUEVOU1NMX05BTUUgPT0g MjI0CisjICBkZWZpbmUgQkFTRV9PUEVOU1NMX1RZUEUgMjU2CisjIGVsaWYgR0xfT1BFTlNTTF9O QU1FID09IDM4NAorIyAgZGVmaW5lIEJBU0VfT1BFTlNTTF9UWVBFIDUxMgorIyBlbmRpZgorIyBk ZWZpbmUgbWQ1X0NUWCBNRDVfQ1RYCisjIGRlZmluZSBzaGExX0NUWCBTSEFfQ1RYCisjIGRlZmlu ZSBzaGEyMjRfQ1RYIFNIQTI1Nl9DVFgKKyMgZGVmaW5lIHNoYTIyNF9jdHggc2hhMjU2X2N0eAor IyBkZWZpbmUgc2hhMjU2X0NUWCBTSEEyNTZfQ1RYCisjIGRlZmluZSBzaGEzODRfQ1RYIFNIQTUx Ml9DVFgKKyMgZGVmaW5lIHNoYTM4NF9jdHggc2hhNTEyX2N0eAorIyBkZWZpbmUgc2hhNTEyX0NU WCBTSEE1MTJfQ1RYCisjIHVuZGVmIF9nbF9DVFgKKyMgdW5kZWYgX2dsX2N0eAorIyBkZWZpbmUg X2dsX0NUWCBfR0xDUllQVE9fQ09OQ0FUIChPUEVOU1NMX0FMRywgX0NUWCkgLyogb3BlbnNzbCB0 eXBlLiAgKi8KKyMgZGVmaW5lIF9nbF9jdHggX0dMQ1JZUFRPX0NPTkNBVCAoT1BFTlNTTF9BTEcs IF9jdHgpIC8qIGdudWxpYiB0eXBlLiAgKi8KKworc3RydWN0IF9nbF9jdHggeyBfZ2xfQ1RYIENU WDsgfTsKKyNlbmRpZgorCisvKiBGdW5jdGlvbiBuYW1lIG1hcHBpbmdzLiAgKi8KKyNkZWZpbmUg bWQ1X3ByZWZpeCBNRDUKKyNkZWZpbmUgc2hhMV9wcmVmaXggU0hBMQorI2RlZmluZSBzaGEyMjRf cHJlZml4IFNIQTIyNAorI2RlZmluZSBzaGEyNTZfcHJlZml4IFNIQTI1NgorI2RlZmluZSBzaGEz ODRfcHJlZml4IFNIQTM4NAorI2RlZmluZSBzaGE1MTJfcHJlZml4IFNIQTUxMgorI2RlZmluZSBf R0xDUllQVE9fUFJFRklYIF9HTENSWVBUT19DT05DQVQgKE9QRU5TU0xfQUxHLCBfcHJlZml4KQor I2RlZmluZSBPUEVOU1NMX0ZOKHN1ZmZpeCkgX0dMQ1JZUFRPX0NPTkNBVCAoX0dMQ1JZUFRPX1BS RUZJWCwgc3VmZml4KQorI2RlZmluZSBHTF9DUllQVE9fRk4oc3VmZml4KSBfR0xDUllQVE9fQ09O Q0FUIChPUEVOU1NMX0FMRywgc3VmZml4KQorCitHTF9PUEVOU1NMX0lOTElORSB2b2lkCitHTF9D UllQVE9fRk4gKF9pbml0X2N0eCkgKHN0cnVjdCBfZ2xfY3R4ICpjdHgpCit7ICh2b2lkKSBPUEVO U1NMX0ZOIChfSW5pdCkgKChfZ2xfQ1RYICopIGN0eCk7IH0KKworLyogVGhlc2Ugd2VyZSBuZXZl ciBleHBvc2VkIGJ5IGdudWxpYi4gICovCisjaWYgISAoR0xfT1BFTlNTTF9OQU1FID09IDIyNCB8 fCBHTF9PUEVOU1NMX05BTUUgPT0gMzg0KQorR0xfT1BFTlNTTF9JTkxJTkUgdm9pZAorR0xfQ1JZ UFRPX0ZOIChfcHJvY2Vzc19ieXRlcykgKGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbiwgc3Ry dWN0IF9nbF9jdHggKmN0eCkKK3sgT1BFTlNTTF9GTiAoX1VwZGF0ZSkgKChfZ2xfQ1RYICopIGN0 eCwgYnVmLCBsZW4pOyB9CisKK0dMX09QRU5TU0xfSU5MSU5FIHZvaWQKK0dMX0NSWVBUT19GTiAo X3Byb2Nlc3NfYmxvY2spIChjb25zdCB2b2lkICpidWYsIHNpemVfdCBsZW4sIHN0cnVjdCBfZ2xf Y3R4ICpjdHgpCit7IEdMX0NSWVBUT19GTiAoX3Byb2Nlc3NfYnl0ZXMpIChidWYsIGxlbiwgY3R4 KTsgfQorI2VuZGlmCisKK0dMX09QRU5TU0xfSU5MSU5FIHZvaWQgKgorR0xfQ1JZUFRPX0ZOIChf ZmluaXNoX2N0eCkgKHN0cnVjdCBfZ2xfY3R4ICpjdHgsIHZvaWQgKnJlc3RyaWN0IHJlcykKK3sg T1BFTlNTTF9GTiAoX0ZpbmFsKSAoKHVuc2lnbmVkIGNoYXIgKikgcmVzLCAoX2dsX0NUWCAqKSBj dHgpOyByZXR1cm4gcmVzOyB9CisKK0dMX09QRU5TU0xfSU5MSU5FIHZvaWQgKgorR0xfQ1JZUFRP X0ZOIChfYnVmZmVyKSAoY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuLCB2b2lkICpyZXN0cmlj dCByZXMpCit7IHJldHVybiBPUEVOU1NMX0ZOICgpICgoY29uc3QgdW5zaWduZWQgY2hhciAqKSBi dWYsIGxlbiwgKHVuc2lnbmVkIGNoYXIgKikgcmVzKTsgfQorCitHTF9PUEVOU1NMX0lOTElORSB2 b2lkICoKK0dMX0NSWVBUT19GTiAoX3JlYWRfY3R4KSAoY29uc3Qgc3RydWN0IF9nbF9jdHggKmN0 eCwgdm9pZCAqcmVzdHJpY3QgcmVzKQoreworICAvKiBBc3N1bWUgYW55IHVucHJvY2Vzc2VkIGJ5 dGVzIGluIGN0eCBhcmUgbm90IHRvIGJlIGlnbm9yZWQuICAqLworICBfZ2xfQ1RYIHRtcF9jdHgg PSAqKF9nbF9DVFggKikgY3R4OworICBPUEVOU1NMX0ZOIChfRmluYWwpICgodW5zaWduZWQgY2hh ciAqKSByZXMsICZ0bXBfY3R4KTsKKyAgcmV0dXJuIHJlczsKK30KKworLyogVW5kZWYgc28gd2Ug Y2FuIGluY2x1ZGUgbXVsdGlwbGUgdGltZXMuICAqLworI3VuZGVmIEdMX0NSWVBUT19GTgorI3Vu ZGVmIE9QRU5TU0xfRk4KKyN1bmRlZiBfR0xDUllQVE9fUFJFRklYCisjdW5kZWYgT1BFTlNTTF9B TEcKKyN1bmRlZiBHTF9PUEVOU1NMX05BTUUKKworX0dMX0lOTElORV9IRUFERVJfRU5ECmRpZmYg LS1naXQgYS9saWIvZ251bGliLm1rLmluIGIvbGliL2dudWxpYi5tay5pbgppbmRleCAwNzczNmY5 YjhiYzU1Li4yYjY2ZGQ0N2RhYTJhIDEwMDY0NAotLS0gYS9saWIvZ251bGliLm1rLmluCisrKyBi L2xpYi9nbnVsaWIubWsuaW4KQEAgLTEwMyw3ICsxMDMsNiBAQAogIyAgZmlsZXZlcmNtcCBcCiAj ICBmbGV4bWVtYmVyIFwKICMgIGZwaWVlZSBcCi0jICBmcmVlLXBvc2l4IFwKICMgIGZzdGF0YXQg XAogIyAgZnN1c2FnZSBcCiAjICBmc3luYyBcCkBAIC0xMjIxLDYgKzEyMjAsNyBAQCBwZGZkaXIg PSBAcGRmZGlyQAogcHJlZml4ID0gQHByZWZpeEAKIHByb2dyYW1fdHJhbnNmb3JtX25hbWUgPSBA cHJvZ3JhbV90cmFuc2Zvcm1fbmFtZUAKIHBzZGlyID0gQHBzZGlyQAorcnVuc3RhdGVkaXIgPSBA cnVuc3RhdGVkaXJACiBzYmluZGlyID0gQHNiaW5kaXJACiBzaGFyZWRzdGF0ZWRpciA9IEBzaGFy ZWRzdGF0ZWRpckAKIHNyY2RpciA9IEBzcmNkaXJACkBAIC0xODQwLDcgKzE4NDAsOSBAQCBlbmRp ZgogIyMgYmVnaW4gZ251bGliIG1vZHVsZSBmcmVlLXBvc2l4CiBpZmVxICgsJChPTUlUX0dOVUxJ Ql9NT0RVTEVfZnJlZS1wb3NpeCkpCiAKK2lmbmVxICgsJChnbF9HTlVMSUJfRU5BQkxFRF9lZjA3 ZGM0YjMwNzdjMTFlYTljZWY1ODZkYjRlNTk1NSkpCiAKK2VuZGlmCiBFWFRSQV9ESVNUICs9IGZy ZWUuYwogCiBFWFRSQV9saWJnbnVfYV9TT1VSQ0VTICs9IGZyZWUuYwpkaWZmIC0tZ2l0IGEvbGlz cC9lbWFjcy1saXNwL2J5dGVjb21wLmVsIGIvbGlzcC9lbWFjcy1saXNwL2J5dGVjb21wLmVsCmlu ZGV4IDRlMDBmZTYxMjFlODIuLmE3M2JjZTYxZDI0OGUgMTAwNjQ0Ci0tLSBhL2xpc3AvZW1hY3Mt bGlzcC9ieXRlY29tcC5lbAorKysgYi9saXNwL2VtYWNzLWxpc3AvYnl0ZWNvbXAuZWwKQEAgLTUy MjUsNyArNTIyNSw3IEBAIGJ5dGUtY29tcGlsZS1yZWZyZXNoLXByZWxvYWRlZAogICAiUmVsb2Fk IGFueSBMaXNwIGZpbGUgdGhhdCB3YXMgY2hhbmdlZCBzaW5jZSBFbWFjcyB3YXMgZHVtcGVkLgog VXNlIHdpdGggY2F1dGlvbi4iCiAgIChsZXQqICgoYXJndjAgKGNhciBjb21tYW5kLWxpbmUtYXJn cykpCi0gICAgICAgICAoZW1hY3MtZmlsZSAob3IgKGNkciAobnRoIDIgKHBkdW1wZXItc3RhdHMp KSkKKyAgICAgICAgIChlbWFjcy1maWxlIChvciAoaWdub3JlLWVycm9ycyAoY2RyIChudGggMiAo cGR1bXBlci1zdGF0cykpKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAoZXhlY3V0YWJsZS1m aW5kIGFyZ3YwKSkpKQogICAgIChpZiAobm90IChhbmQgZW1hY3MtZmlsZSAoZmlsZS1leGlzdHMt cCBlbWFjcy1maWxlKSkpCiAgICAgICAgIChtZXNzYWdlICJDYW4ndCBmaW5kICVzIHRvIHJlZnJl c2ggcHJlbG9hZGVkIExpc3AgZmlsZXMiIGFyZ3YwKQpkaWZmIC0tZ2l0IGEvbTQvZmNudGwtby5t NCBiL200L2ZjbnRsLW8ubTQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw MC4uN2M0NTlhZDEzYTcwOAotLS0gL2Rldi9udWxsCisrKyBiL200L2ZjbnRsLW8ubTQKQEAgLTAs MCArMSwxNDAgQEAKKyMgZmNudGwtby5tNCBzZXJpYWwgNworZG5sIENvcHlyaWdodCAoQykgMjAw NiwgMjAwOS0yMDIxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorZG5sIFRoaXMgZmls ZSBpcyBmcmVlIHNvZnR3YXJlOyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCitkbmwgZ2l2 ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKK2Ru bCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9ucywgYXMgbG9uZyBhcyB0aGlzIG5vdGljZSBp cyBwcmVzZXJ2ZWQuCisKK2RubCBXcml0dGVuIGJ5IFBhdWwgRWdnZXJ0LgorCitBQ19QUkVSRVEo WzIuNjBdKQorCisjIFRlc3Qgd2hldGhlciB0aGUgZmxhZ3MgT19OT0FUSU1FIGFuZCBPX05PRk9M TE9XIGFjdHVhbGx5IHdvcmsuCisjIERlZmluZSBIQVZFX1dPUktJTkdfT19OT0FUSU1FIHRvIDEg aWYgT19OT0FUSU1FIHdvcmtzLCBvciB0byAwIG90aGVyd2lzZS4KKyMgRGVmaW5lIEhBVkVfV09S S0lOR19PX05PRk9MTE9XIHRvIDEgaWYgT19OT0ZPTExPVyB3b3Jrcywgb3IgdG8gMCBvdGhlcndp c2UuCitBQ19ERUZVTihbZ2xfRkNOVExfT19GTEFHU10sCitbCisgIGRubCBQZXJzdWFkZSBnbGli YyA8ZmNudGwuaD4gdG8gZGVmaW5lIE9fTk9BVElNRSBhbmQgT19OT0ZPTExPVy4KKyAgQUNfUkVR VUlSRShbQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TXSkKKworICBBQ19SRVFVSVJFKFtBQ19DQU5P TklDQUxfSE9TVF0pIGRubCBmb3IgY3Jvc3MtY29tcGlsZXMKKyAgQUNfQ0hFQ0tfSEVBREVSU19P TkNFKFt1bmlzdGQuaF0pCisgIEFDX0NIRUNLX0ZVTkNTX09OQ0UoW3N5bWxpbmtdKQorICBBQ19D QUNIRV9DSEVDSyhbZm9yIHdvcmtpbmcgZmNudGwuaF0sIFtnbF9jdl9oZWFkZXJfd29ya2luZ19m Y250bF9oXSwKKyAgICBbQUNfUlVOX0lGRUxTRSgKKyAgICAgICBbQUNfTEFOR19QUk9HUkFNKAor ICAgICAgICAgIFtbI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICAgICAgICAgICAjaW5jbHVkZSA8 c3lzL3N0YXQuaD4KKyAgICAgICAgICAgI2lmIEhBVkVfVU5JU1REX0gKKyAgICAgICAgICAgIyBp bmNsdWRlIDx1bmlzdGQuaD4KKyAgICAgICAgICAgI2Vsc2UgLyogb24gV2luZG93cyB3aXRoIE1T VkMgKi8KKyAgICAgICAgICAgIyBpbmNsdWRlIDxpby5oPgorICAgICAgICAgICAjIGluY2x1ZGUg PHN0ZGxpYi5oPgorICAgICAgICAgICAjIGRlZmluZWQgc2xlZXAobikgX3NsZWVwICgobikgKiAx MDAwKQorICAgICAgICAgICAjZW5kaWYKKyAgICAgICAgICAgI2luY2x1ZGUgPGZjbnRsLmg+Cisg ICAgICAgICAgIF1HTF9NREFfREVGSU5FU1sKKyAgICAgICAgICAgI2lmbmRlZiBPX05PQVRJTUUK KyAgICAgICAgICAgICNkZWZpbmUgT19OT0FUSU1FIDAKKyAgICAgICAgICAgI2VuZGlmCisgICAg ICAgICAgICNpZm5kZWYgT19OT0ZPTExPVworICAgICAgICAgICAgI2RlZmluZSBPX05PRk9MTE9X IDAKKyAgICAgICAgICAgI2VuZGlmCisgICAgICAgICAgIHN0YXRpYyBpbnQgY29uc3QgY29uc3Rh bnRzW10gPQorICAgICAgICAgICAgeworICAgICAgICAgICAgICBPX0NSRUFULCBPX0VYQ0wsIE9f Tk9DVFRZLCBPX1RSVU5DLCBPX0FQUEVORCwKKyAgICAgICAgICAgICAgT19OT05CTE9DSywgT19T WU5DLCBPX0FDQ01PREUsIE9fUkRPTkxZLCBPX1JEV1IsIE9fV1JPTkxZCisgICAgICAgICAgICB9 OworICAgICAgICAgIF1dLAorICAgICAgICAgIFtbCisgICAgICAgICAgICBpbnQgcmVzdWx0ID0g IWNvbnN0YW50czsKKyAgICAgICAgICAgICNpZiBIQVZFX1NZTUxJTksKKyAgICAgICAgICAgIHsK KyAgICAgICAgICAgICAgc3RhdGljIGNoYXIgY29uc3Qgc3ltW10gPSAiY29uZnRlc3Quc3ltIjsK KyAgICAgICAgICAgICAgaWYgKHN5bWxpbmsgKCIvZGV2L251bGwiLCBzeW0pICE9IDApCisgICAg ICAgICAgICAgICAgcmVzdWx0IHw9IDI7CisgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAg ICAgICB7CisgICAgICAgICAgICAgICAgICBpbnQgZmQgPSBvcGVuIChzeW0sIE9fV1JPTkxZIHwg T19OT0ZPTExPVyB8IE9fQ1JFQVQsIDApOworICAgICAgICAgICAgICAgICAgaWYgKGZkID49IDAp CisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICBjbG9zZSAoZmQp OworICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCB8PSA0OworICAgICAgICAgICAgICAgICAg ICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICBpZiAodW5saW5rIChzeW0pICE9 IDAgfHwgc3ltbGluayAoIi4iLCBzeW0pICE9IDApCisgICAgICAgICAgICAgICAgcmVzdWx0IHw9 IDI7CisgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg ICAgICBpbnQgZmQgPSBvcGVuIChzeW0sIE9fUkRPTkxZIHwgT19OT0ZPTExPVyk7CisgICAgICAg ICAgICAgICAgICBpZiAoZmQgPj0gMCkKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAg ICAgICAgICAgICAgIGNsb3NlIChmZCk7CisgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0IHw9 IDQ7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg ICAgIHVubGluayAoc3ltKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICNlbmRpZgorICAg ICAgICAgICAgeworICAgICAgICAgICAgICBzdGF0aWMgY2hhciBjb25zdCBmaWxlW10gPSAiY29u ZmRlZnMuaCI7CisgICAgICAgICAgICAgIGludCBmZCA9IG9wZW4gKGZpbGUsIE9fUkRPTkxZIHwg T19OT0FUSU1FKTsKKyAgICAgICAgICAgICAgaWYgKGZkIDwgMCkKKyAgICAgICAgICAgICAgICBy ZXN1bHQgfD0gODsKKyAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgIHsKKyAgICAg ICAgICAgICAgICAgIHN0cnVjdCBzdGF0IHN0MDsKKyAgICAgICAgICAgICAgICAgIGlmIChmc3Rh dCAoZmQsICZzdDApICE9IDApCisgICAgICAgICAgICAgICAgICAgIHJlc3VsdCB8PSAxNjsKKyAg ICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg ICAgICAgICAgIGNoYXIgYzsKKyAgICAgICAgICAgICAgICAgICAgICBzbGVlcCAoMSk7CisgICAg ICAgICAgICAgICAgICAgICAgaWYgKHJlYWQgKGZkLCAmYywgMSkgIT0gMSkKKyAgICAgICAgICAg ICAgICAgICAgICAgIHJlc3VsdCB8PSAyNDsKKyAgICAgICAgICAgICAgICAgICAgICBlbHNlCisg ICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChj bG9zZSAoZmQpICE9IDApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0IHw9IDMy OworICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHN0YXQgc3QxOwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0YXQgKGZpbGUsICZzdDEpICE9IDAp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCB8PSA0MDsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaWYgKHN0MC5zdF9hdGltZSAhPSBzdDEuc3RfYXRpbWUpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmVzdWx0IHw9IDY0OworICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorICAg ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiByZXN1bHQ7 XV0pXSwKKyAgICAgICBbZ2xfY3ZfaGVhZGVyX3dvcmtpbmdfZmNudGxfaD15ZXNdLAorICAgICAg IFtjYXNlICQ/IGluICMoCisgICAgICAgIDQpIGdsX2N2X2hlYWRlcl93b3JraW5nX2ZjbnRsX2g9 J25vIChiYWQgT19OT0ZPTExPVyknOzsgIygKKyAgICAgICAgNjQpIGdsX2N2X2hlYWRlcl93b3Jr aW5nX2ZjbnRsX2g9J25vIChiYWQgT19OT0FUSU1FKSc7OyAjKAorICAgICAgICA2OCkgZ2xfY3Zf aGVhZGVyX3dvcmtpbmdfZmNudGxfaD0nbm8gKGJhZCBPX05PQVRJTUUsIE9fTk9GT0xMT1cpJzs7 ICMoCisgICAgICAgICAqKSBnbF9jdl9oZWFkZXJfd29ya2luZ19mY250bF9oPSdubyc7OworICAg ICAgICBlc2FjXSwKKyAgICAgICBbY2FzZSAiJGhvc3Rfb3MiIGluCisgICAgICAgICAgICAgICAg ICAjIEd1ZXNzICdubycgb24gbmF0aXZlIFdpbmRvd3MuCisgICAgICAgICAgbWluZ3cqKSBnbF9j dl9oZWFkZXJfd29ya2luZ19mY250bF9oPSdubycgOzsKKyAgICAgICAgICAqKSAgICAgIGdsX2N2 X2hlYWRlcl93b3JraW5nX2ZjbnRsX2g9Y3Jvc3MtY29tcGlsaW5nIDs7CisgICAgICAgIGVzYWMK KyAgICAgICBdKQorICAgIF0pCisKKyAgY2FzZSAkZ2xfY3ZfaGVhZGVyX3dvcmtpbmdfZmNudGxf aCBpbiAjKAorICAqT19OT0FUSU1FKiB8IG5vIHwgY3Jvc3MtY29tcGlsaW5nKSBhY192YWw9MDs7 ICMoCisgICopIGFjX3ZhbD0xOzsKKyAgZXNhYworICBBQ19ERUZJTkVfVU5RVU9URUQoW0hBVkVf V09SS0lOR19PX05PQVRJTUVdLCBbJGFjX3ZhbF0sCisgICAgW0RlZmluZSB0byAxIGlmIE9fTk9B VElNRSB3b3Jrcy5dKQorCisgIGNhc2UgJGdsX2N2X2hlYWRlcl93b3JraW5nX2ZjbnRsX2ggaW4g IygKKyAgKk9fTk9GT0xMT1cqIHwgbm8gfCBjcm9zcy1jb21waWxpbmcpIGFjX3ZhbD0wOzsgIygK KyAgKikgYWNfdmFsPTE7OworICBlc2FjCisgIEFDX0RFRklORV9VTlFVT1RFRChbSEFWRV9XT1JL SU5HX09fTk9GT0xMT1ddLCBbJGFjX3ZhbF0sCisgICAgW0RlZmluZSB0byAxIGlmIE9fTk9GT0xM T1cgd29ya3MuXSkKK10pCmRpZmYgLS1naXQgYS9tNC9nbC1vcGVuc3NsLm00IGIvbTQvZ2wtb3Bl bnNzbC5tNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi45NmE3MjY4 YTI3OTY2Ci0tLSAvZGV2L251bGwKKysrIGIvbTQvZ2wtb3BlbnNzbC5tNApAQCAtMCwwICsxLDY2 IEBACisjIGdsLW9wZW5zc2wubTQgc2VyaWFsIDUKK2RubCBDb3B5cmlnaHQgKEMpIDIwMTMtMjAy MSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KK2RubCBUaGlzIGZpbGUgaXMgZnJlZSBz b2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorZG5sIGdpdmVzIHVubGltaXRl ZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29yIGRpc3RyaWJ1dGUgaXQsCitkbmwgd2l0aCBvciB3 aXRob3V0IG1vZGlmaWNhdGlvbnMsIGFzIGxvbmcgYXMgdGhpcyBub3RpY2UgaXMgcHJlc2VydmVk LgorCitBQ19ERUZVTihbZ2xfU0VUX0NSWVBUT19DSEVDS19ERUZBVUxUXSwKK1sKKyAgbTRfZGVm aW5lKFtnbF9DUllQVE9fQ0hFQ0tfREVGQVVMVF0sIFskMV0pCitdKQorZ2xfU0VUX0NSWVBUT19D SEVDS19ERUZBVUxUKFtub10pCisKK0FDX0RFRlVOKFtnbF9DUllQVE9fQ0hFQ0tdLAorWworICBk bmwgZ251bGliIHVzZXJzIHNldCB0aGlzIGJlZm9yZSBnbF9JTklUIHdpdGggZ2xfU0VUX0NSWVBU T19DSEVDS19ERUZBVUxUKCkKKyAgbTRfZGl2ZXJ0X29uY2UoW0RFRkFVTFRTXSwgW3dpdGhfb3Bl bnNzbF9kZWZhdWx0PSdnbF9DUllQVE9fQ0hFQ0tfREVGQVVMVCddKQorCisgIGRubCBPbmx5IGNs ZWFyIG9uY2UsIHNvIGNyeXB0byByb3V0aW5lcyBjYW4gYmUgY2hlY2tlZCBmb3IgaW5kaXZpZHVh bGx5CisgIG00X2RpdmVydF9vbmNlKFtERUZBVUxUU10sIFtMSUJfQ1JZUFRPPV0pCisKKyAgQUNf QVJHX1dJVEgoW29wZW5zc2xdLAorICAgIFtBU19IRUxQX1NUUklORyhbLS13aXRoLW9wZW5zc2xd LAorICAgICAgW3VzZSBsaWJjcnlwdG8gaGFzaCByb3V0aW5lcy4gVmFsaWQgQVJHcyBhcmU6Cisg ICAgICAgJ3llcycsICdubycsCisgICAgICAgJ2F1dG8nID0+IHVzZSBpZiBhbnkgdmVyc2lvbiBh dmFpbGFibGUsCisgICAgICAgJ2F1dG8tZ3BsLWNvbXBhdCcgPT4gdXNlIGlmIGdwbCBjb21wYXRp YmxlIHZlcnNpb24gYXZhaWxhYmxlLAorICAgICAgICdvcHRpb25hbCcgPT4gdXNlIGlmIGF2YWls YWJsZSBhbmQgd2FybiBpZiBub3QgYXZhaWxhYmxlOworICAgICAgIGRlZmF1bHQgaXMgJ11nbF9D UllQVE9fQ0hFQ0tfREVGQVVMVFsnLgorICAgICAgIE5vdGUgYWxzbyAtLXdpdGgtbGludXgtY3J5 cHRvLCB3aGljaCB3aWxsIGVuYWJsZQorICAgICAgIHVzZSBvZiBrZXJuZWwgY3J5cHRvIHJvdXRp bmVzLCB3aGljaCBoYXZlIHByZWNlZGVuY2VdKV0sCisgICAgW10sCisgICAgW3dpdGhfb3BlbnNz bD0kd2l0aF9vcGVuc3NsX2RlZmF1bHRdKQorCisgIEFDX1NVQlNUKFtMSUJfQ1JZUFRPXSkKKyAg aWYgdGVzdCAieCR3aXRoX29wZW5zc2wiICE9IHhubzsgdGhlbgorICAgIGlmIHRlc3QgIngkd2l0 aF9vcGVuc3NsIiA9IHhhdXRvLWdwbC1jb21wYXQ7IHRoZW4KKyAgICAgIEFDX0NBQ0hFX0NIRUNL KFt3aGV0aGVyIG9wZW5zc2wgaXMgR1BMIGNvbXBhdGlibGVdLAorICAgICAgICAgICAgICAgICAg ICAgW2dsX2N2X29wZW5zc2xfZ3BsX2NvbXBhdF0sCisgICAgICAgIFtBQ19DT01QSUxFX0lGRUxT RSgKKyAgICAgICAgICAgW0FDX0xBTkdfUFJPR1JBTShbWworICAgICAgICAgICAgICAgICNpbmNs dWRlIDxvcGVuc3NsL29wZW5zc2x2Lmg+CisgICAgICAgICAgICAgICAgI2lmIE9QRU5TU0xfVkVS U0lPTl9NQUpPUiA8IDMKKyAgICAgICAgICAgICAgICAgICNlcnJvciAib3BlbnNzbCA+PSB2ZXJz aW9uIDMgbm90IGZvdW5kIgorICAgICAgICAgICAgICAgICNlbmRpZgorICAgICAgICAgICAgICBd XSldLAorICAgICAgICAgICBbZ2xfY3Zfb3BlbnNzbF9ncGxfY29tcGF0PXllc10sCisgICAgICAg ICAgIFtnbF9jdl9vcGVuc3NsX2dwbF9jb21wYXQ9bm9dKV0pCisgICAgZmkKKyAgICBpZiB0ZXN0 ICJ4JHdpdGhfb3BlbnNzbCIgIT0geGF1dG8tZ3BsLWNvbXBhdCB8fAorICAgICAgIHRlc3QgIngk Z2xfY3Zfb3BlbnNzbF9ncGxfY29tcGF0IiA9IHh5ZXM7IHRoZW4KKyAgICAgIEFDX0NIRUNLX0xJ QihbY3J5cHRvXSwgWyQxXSwKKyAgICAgICAgW0FDX0NIRUNLX0hFQURFUlMoCisgICAgICAgICAg IG00X2lmKFskMV0sIFtNRDVdLCBbb3BlbnNzbC9tZDUuaF0sIFtvcGVuc3NsL3NoYS5oXSksCisg ICAgICAgICAgIFtMSUJfQ1JZUFRPPS1sY3J5cHRvCisgICAgICAgICAgICBBQ19ERUZJTkUoW0hB VkVfT1BFTlNTTF8kMV0sIFsxXSwKKyAgICAgICAgICAgICAgW0RlZmluZSB0byAxIGlmIGxpYmNy eXB0byBpcyB1c2VkIGZvciAkMS5dKV0pXSkKKyAgICBmaQorICAgIGlmIHRlc3QgIngkTElCX0NS WVBUTyIgPSB4OyB0aGVuCisgICAgICBpZiB0ZXN0ICJ4JHdpdGhfb3BlbnNzbCIgPSB4eWVzOyB0 aGVuCisgICAgICAgIEFDX01TR19FUlJPUihbb3BlbnNzbCBkZXZlbG9wbWVudCBsaWJyYXJ5IG5v dCBmb3VuZCBmb3IgJDFdKQorICAgICAgZWxpZiB0ZXN0ICJ4JHdpdGhfb3BlbnNzbCIgPSB4b3B0 aW9uYWw7IHRoZW4KKyAgICAgICAgQUNfTVNHX1dBUk4oW29wZW5zc2wgZGV2ZWxvcG1lbnQgbGli cmFyeSBub3QgZm91bmQgZm9yICQxXSkKKyAgICAgIGZpCisgICAgZmkKKyAgZmkKK10pCmRpZmYg LS1naXQgYS9tNC9nbnVsaWItY2FjaGUubTQgYi9tNC9nbnVsaWItY2FjaGUubTQKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uNzM3NWNhZTAwNmIyYQotLS0gL2Rldi9u dWxsCisrKyBiL200L2dudWxpYi1jYWNoZS5tNApAQCAtMCwwICsxLDI4MiBAQAorIyBDb3B5cmln aHQgKEMpIDIwMDItMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMKKyMgVGhp cyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcg d2l0aCB0aGlzIGZpbGUuICBJZiBub3QsIHNlZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LgorIworIyBBcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSwKKyMgdGhpcyBmaWxlIG1heSBiZSBkaXN0cmlidXRlZCBhcyBwYXJ0IG9mIGEg cHJvZ3JhbSB0aGF0CisjIGNvbnRhaW5zIGEgY29uZmlndXJhdGlvbiBzY3JpcHQgZ2VuZXJhdGVk IGJ5IEF1dG9jb25mLCB1bmRlcgorIyB0aGUgc2FtZSBkaXN0cmlidXRpb24gdGVybXMgYXMgdGhl IHJlc3Qgb2YgdGhhdCBwcm9ncmFtLgorIworIyBHZW5lcmF0ZWQgYnkgZ251bGliLXRvb2wuCisj CisjIFRoaXMgZmlsZSByZXByZXNlbnRzIHRoZSBzcGVjaWZpY2F0aW9uIG9mIGhvdyBnbnVsaWIt dG9vbCBpcyB1c2VkLgorIyBJdCBhY3RzIGFzIGEgY2FjaGU6IEl0IGlzIHdyaXR0ZW4gYW5kIHJl YWQgYnkgZ251bGliLXRvb2wuCisjIEluIHByb2plY3RzIHRoYXQgdXNlIHZlcnNpb24gY29udHJv bCwgdGhpcyBmaWxlIGlzIG1lYW50IHRvIGJlIHB1dCB1bmRlcgorIyB2ZXJzaW9uIGNvbnRyb2ws IGxpa2UgdGhlIGNvbmZpZ3VyZS5hYyBhbmQgdmFyaW91cyBNYWtlZmlsZS5hbSBmaWxlcy4KKwor CisjIFNwZWNpZmljYXRpb24gaW4gdGhlIGZvcm0gb2YgYSBjb21tYW5kLWxpbmUgaW52b2NhdGlv bjoKKyMgZ251bGliLXRvb2wgLS1pbXBvcnQgXAorIyAgLS1saWI9bGliZ251IFwKKyMgIC0tc291 cmNlLWJhc2U9bGliIFwKKyMgIC0tbTQtYmFzZT1tNCBcCisjICAtLWRvYy1iYXNlPWRvYyBcCisj ICAtLXRlc3RzLWJhc2U9dGVzdHMgXAorIyAgLS1hdXgtZGlyPWJ1aWxkLWF1eCBcCisjICAtLWdu dS1tYWtlIFwKKyMgIC0tbWFrZWZpbGUtbmFtZT1nbnVsaWIubWsuaW4gXAorIyAgLS1jb25kaXRp b25hbC1kZXBlbmRlbmNpZXMgXAorIyAgLS1uby1saWJ0b29sIFwKKyMgIC0tbWFjcm8tcHJlZml4 PWdsIFwKKyMgIC0tbm8tdmMtZmlsZXMgXAorIyAgLS1hdm9pZD1idG93YyBcCisjICAtLWF2b2lk PWNsb3NlIFwKKyMgIC0tYXZvaWQ9ZHVwIFwKKyMgIC0tYXZvaWQ9ZmNoZGlyIFwKKyMgIC0tYXZv aWQ9ZnN0YXQgXAorIyAgLS1hdm9pZD1sYW5naW5mbyBcCisjICAtLWF2b2lkPWxvY2sgXAorIyAg LS1hdm9pZD1tYWxsb2MtcG9zaXggXAorIyAgLS1hdm9pZD1tYnJ0b3djIFwKKyMgIC0tYXZvaWQ9 bWJzaW5pdCBcCisjICAtLWF2b2lkPW1lbWNociBcCisjICAtLWF2b2lkPW1rZGlyIFwKKyMgIC0t YXZvaWQ9bXN2Yy1pbnZhbCBcCisjICAtLWF2b2lkPW1zdmMtbm90aHJvdyBcCisjICAtLWF2b2lk PW5sX2xhbmdpbmZvIFwKKyMgIC0tYXZvaWQ9b3BlbmF0LWRpZSBcCisjICAtLWF2b2lkPW9wZW5k aXIgXAorIyAgLS1hdm9pZD1wdGhyZWFkLWggXAorIyAgLS1hdm9pZD1yYWlzZSBcCisjICAtLWF2 b2lkPXNhdmUtY3dkIFwKKyMgIC0tYXZvaWQ9c2VsZWN0IFwKKyMgIC0tYXZvaWQ9c2V0ZW52IFwK KyMgIC0tYXZvaWQ9c2lncHJvY21hc2sgXAorIyAgLS1hdm9pZD1zdGF0IFwKKyMgIC0tYXZvaWQ9 c3RkYXJnIFwKKyMgIC0tYXZvaWQ9c3RkYm9vbCBcCisjICAtLWF2b2lkPXRocmVhZGxpYiBcCisj ICAtLWF2b2lkPXR6c2V0IFwKKyMgIC0tYXZvaWQ9dW5zZXRlbnYgXAorIyAgLS1hdm9pZD11dGlt ZSBcCisjICAtLWF2b2lkPXV0aW1lLWggXAorIyAgLS1hdm9pZD13Y2hhciBcCisjICAtLWF2b2lk PXdjcnRvbWIgXAorIyAgLS1hdm9pZD13Y3R5cGUtaCBcCisjICBhbGxvY2Etb3B0IFwKKyMgIGJp bmFyeS1pbyBcCisjICBieXRlc3dhcCBcCisjICBjLWN0eXBlIFwKKyMgIGMtc3RyY2FzZSBcCisj ICBjYW5vbmljYWxpemUtbGdwbCBcCisjICBjYXJlYWRsaW5rYXQgXAorIyAgY2xvc2Utc3RyZWFt IFwKKyMgIGNvcHktZmlsZS1yYW5nZSBcCisjICBjb3VudC1sZWFkaW5nLXplcm9zIFwKKyMgIGNv dW50LW9uZS1iaXRzIFwKKyMgIGNvdW50LXRyYWlsaW5nLXplcm9zIFwKKyMgIGNyeXB0by9tZDUt YnVmZmVyIFwKKyMgIGNyeXB0by9zaGExLWJ1ZmZlciBcCisjICBjcnlwdG8vc2hhMjU2LWJ1ZmZl ciBcCisjICBjcnlwdG8vc2hhNTEyLWJ1ZmZlciBcCisjICBkLXR5cGUgXAorIyAgZGlmZnNlcSBc CisjICBkb3VibGUtc2xhc2gtcm9vdCBcCisjICBkdG9hc3RyIFwKKyMgIGR0b3RpbWVzcGVjIFwK KyMgIGR1cDIgXAorIyAgZW52aXJvbiBcCisjICBleGVjaW5mbyBcCisjICBleHBsaWNpdF9iemVy byBcCisjICBmYWNjZXNzYXQgXAorIyAgZmNobW9kYXQgXAorIyAgZmNudGwgXAorIyAgZmNudGwt aCBcCisjICBmZG9wZW5kaXIgXAorIyAgZmlsZW1vZGUgXAorIyAgZmlsZW5hbWUgXAorIyAgZmls ZXZlcmNtcCBcCisjICBmbGV4bWVtYmVyIFwKKyMgIGZwaWVlZSBcCisjICBmc3RhdGF0IFwKKyMg IGZzdXNhZ2UgXAorIyAgZnN5bmMgXAorIyAgZnV0aW1lbnMgXAorIyAgZ2V0bG9hZGF2ZyBcCisj ICBnZXRvcHQtZ251IFwKKyMgIGdldHJhbmRvbSBcCisjICBnZXR0aW1lIFwKKyMgIGdldHRpbWVv ZmRheSBcCisjICBnaXRsb2ctdG8tY2hhbmdlbG9nIFwKKyMgIGllZWU3NTQtaCBcCisjICBpZ25v cmUtdmFsdWUgXAorIyAgaW50cHJvcHMgXAorIyAgbGFyZ2VmaWxlIFwKKyMgIGxpYmdtcCBcCisj ICBsc3RhdCBcCisjICBtYW55d2FybmluZ3MgXAorIyAgbWVtbWVtLXNpbXBsZSBcCisjICBtZW1w Y3B5IFwKKyMgIG1lbXJjaHIgXAorIyAgbWlubWF4IFwKKyMgIG1rb3N0ZW1wIFwKKyMgIG1rdGlt ZSBcCisjICBuc3RyZnRpbWUgXAorIyAgcGF0aG1heCBcCisjICBwaXBlMiBcCisjICBwc2VsZWN0 IFwKKyMgIHB0aHJlYWRfc2lnbWFzayBcCisjICBxY29weS1hY2wgXAorIyAgcmVhZGxpbmsgXAor IyAgcmVhZGxpbmthdCBcCisjICByZWdleCBcCisjICBzaWcyc3RyIFwKKyMgIHNpZ2Rlc2NyX25w IFwKKyMgIHNvY2tsZW4gXAorIyAgc3RhdC10aW1lIFwKKyMgIHN0ZC1nbnUxMSBcCisjICBzdGRh bGlnbiBcCisjICBzdGRkZWYgXAorIyAgc3RkaW8gXAorIyAgc3RwY3B5IFwKKyMgIHN0cm5sZW4g XAorIyAgc3RydG9pbWF4IFwKKyMgIHN5bWxpbmsgXAorIyAgc3lzX3N0YXQgXAorIyAgc3lzX3Rp bWUgXAorIyAgdGVtcG5hbWUgXAorIyAgdGltZSBcCisjICB0aW1lX3IgXAorIyAgdGltZV9yeiBc CisjICB0aW1lZ20gXAorIyAgdGltZXItdGltZSBcCisjICB0aW1lc3BlYy1hZGQgXAorIyAgdGlt ZXNwZWMtc3ViIFwKKyMgIHVubG9ja2VkLWlvIFwKKyMgIHVwZGF0ZS1jb3B5cmlnaHQgXAorIyAg dXRpbWVuc2F0IFwKKyMgIHZsYSBcCisjICB3YXJuaW5ncworCisjIFNwZWNpZmljYXRpb24gaW4g dGhlIGZvcm0gb2YgYSBmZXcgZ251bGliLXRvb2wubTQgbWFjcm8gaW52b2NhdGlvbnM6CitnbF9M T0NBTF9ESVIoW10pCitnbF9NT0RVTEVTKFsKKyAgYWxsb2NhLW9wdAorICBiaW5hcnktaW8KKyAg Ynl0ZXN3YXAKKyAgYy1jdHlwZQorICBjLXN0cmNhc2UKKyAgY2Fub25pY2FsaXplLWxncGwKKyAg Y2FyZWFkbGlua2F0CisgIGNsb3NlLXN0cmVhbQorICBjb3B5LWZpbGUtcmFuZ2UKKyAgY291bnQt bGVhZGluZy16ZXJvcworICBjb3VudC1vbmUtYml0cworICBjb3VudC10cmFpbGluZy16ZXJvcwor ICBjcnlwdG8vbWQ1LWJ1ZmZlcgorICBjcnlwdG8vc2hhMS1idWZmZXIKKyAgY3J5cHRvL3NoYTI1 Ni1idWZmZXIKKyAgY3J5cHRvL3NoYTUxMi1idWZmZXIKKyAgZC10eXBlCisgIGRpZmZzZXEKKyAg ZG91YmxlLXNsYXNoLXJvb3QKKyAgZHRvYXN0cgorICBkdG90aW1lc3BlYworICBkdXAyCisgIGVu dmlyb24KKyAgZXhlY2luZm8KKyAgZXhwbGljaXRfYnplcm8KKyAgZmFjY2Vzc2F0CisgIGZjaG1v ZGF0CisgIGZjbnRsCisgIGZjbnRsLWgKKyAgZmRvcGVuZGlyCisgIGZpbGVtb2RlCisgIGZpbGVu YW1lCisgIGZpbGV2ZXJjbXAKKyAgZmxleG1lbWJlcgorICBmcGllZWUKKyAgZnN0YXRhdAorICBm c3VzYWdlCisgIGZzeW5jCisgIGZ1dGltZW5zCisgIGdldGxvYWRhdmcKKyAgZ2V0b3B0LWdudQor ICBnZXRyYW5kb20KKyAgZ2V0dGltZQorICBnZXR0aW1lb2ZkYXkKKyAgZ2l0bG9nLXRvLWNoYW5n ZWxvZworICBpZWVlNzU0LWgKKyAgaWdub3JlLXZhbHVlCisgIGludHByb3BzCisgIGxhcmdlZmls ZQorICBsaWJnbXAKKyAgbHN0YXQKKyAgbWFueXdhcm5pbmdzCisgIG1lbW1lbS1zaW1wbGUKKyAg bWVtcGNweQorICBtZW1yY2hyCisgIG1pbm1heAorICBta29zdGVtcAorICBta3RpbWUKKyAgbnN0 cmZ0aW1lCisgIHBhdGhtYXgKKyAgcGlwZTIKKyAgcHNlbGVjdAorICBwdGhyZWFkX3NpZ21hc2sK KyAgcWNvcHktYWNsCisgIHJlYWRsaW5rCisgIHJlYWRsaW5rYXQKKyAgcmVnZXgKKyAgc2lnMnN0 cgorICBzaWdkZXNjcl9ucAorICBzb2NrbGVuCisgIHN0YXQtdGltZQorICBzdGQtZ251MTEKKyAg c3RkYWxpZ24KKyAgc3RkZGVmCisgIHN0ZGlvCisgIHN0cGNweQorICBzdHJubGVuCisgIHN0cnRv aW1heAorICBzeW1saW5rCisgIHN5c19zdGF0CisgIHN5c190aW1lCisgIHRlbXBuYW1lCisgIHRp bWUKKyAgdGltZV9yCisgIHRpbWVfcnoKKyAgdGltZWdtCisgIHRpbWVyLXRpbWUKKyAgdGltZXNw ZWMtYWRkCisgIHRpbWVzcGVjLXN1YgorICB1bmxvY2tlZC1pbworICB1cGRhdGUtY29weXJpZ2h0 CisgIHV0aW1lbnNhdAorICB2bGEKKyAgd2FybmluZ3MKK10pCitnbF9BVk9JRChbIGJ0b3djIGNs b3NlIGR1cCBmY2hkaXIgZnN0YXQgbGFuZ2luZm8gbG9jayBtYWxsb2MtcG9zaXggbWJydG93YyBt YnNpbml0IG1lbWNociBta2RpciBtc3ZjLWludmFsIG1zdmMtbm90aHJvdyBubF9sYW5naW5mbyBv cGVuYXQtZGllIG9wZW5kaXIgcHRocmVhZC1oIHJhaXNlIHNhdmUtY3dkIHNlbGVjdCBzZXRlbnYg c2lncHJvY21hc2sgc3RhdCBzdGRhcmcgc3RkYm9vbCB0aHJlYWRsaWIgdHpzZXQgdW5zZXRlbnYg dXRpbWUgdXRpbWUtaCB3Y2hhciB3Y3J0b21iIHdjdHlwZS1oXSkKK2dsX1NPVVJDRV9CQVNFKFts aWJdKQorZ2xfTTRfQkFTRShbbTRdKQorZ2xfUE9fQkFTRShbXSkKK2dsX0RPQ19CQVNFKFtkb2Nd KQorZ2xfVEVTVFNfQkFTRShbdGVzdHNdKQorZ2xfTElCKFtsaWJnbnVdKQorZ2xfTUFLRUZJTEVf TkFNRShbZ251bGliLm1rLmluXSkKK2dsX0NPTkRJVElPTkFMX0RFUEVOREVOQ0lFUworZ2xfTUFD Uk9fUFJFRklYKFtnbF0pCitnbF9QT19ET01BSU4oW10pCitnbF9XSVRORVNTX0NfTUFDUk8oW10p CitnbF9WQ19GSUxFUyhbZmFsc2VdKQpkaWZmIC0tZ2l0IGEvbTQvZ251bGliLWNvbXAubTQgYi9t NC9nbnVsaWItY29tcC5tNAppbmRleCBjZDZmN2I0YmJkZmFiLi43MGYxMzhjYzMzMDFjIDEwMDY0 NAotLS0gYS9tNC9nbnVsaWItY29tcC5tNAorKysgYi9tNC9nbnVsaWItY29tcC5tNApAQCAtMjkz LDEyICsyOTMsNiBAQCBBQ19ERUZVTgogICBpZiB0ZXN0ICRnbF9jdl9mdW5jX19fZnBlbmRpbmcg PSBubzsgdGhlbgogICAgIEFDX0xJQk9CSihbZnBlbmRpbmddKQogICBmaQotICBnbF9GVU5DX0ZS RUUKLSAgaWYgdGVzdCAkUkVQTEFDRV9GUkVFID0gMTsgdGhlbgotICAgIEFDX0xJQk9CSihbZnJl ZV0pCi0gICAgZ2xfUFJFUkVRX0ZSRUUKLSAgZmkKLSAgZ2xfU1RETElCX01PRFVMRV9JTkRJQ0FU T1IoW2ZyZWUtcG9zaXhdKQogICBnbF9GVU5DX0ZTVEFUQVQKICAgaWYgdGVzdCAkSEFWRV9GU1RB VEFUID0gMCB8fCB0ZXN0ICRSRVBMQUNFX0ZTVEFUQVQgPSAxOyB0aGVuCiAgICAgQUNfTElCT0JK KFtmc3RhdGF0XSkKQEAgLTUyMSw2ICs1MTUsNyBAQCBBQ19ERUZVTgogICBnbF9nbnVsaWJfZW5h YmxlZF9keW5hcnJheT1mYWxzZQogICBnbF9nbnVsaWJfZW5hYmxlZF85MjU2NzdmMDM0M2RlNjRi ODlhOWYwYzc5MGI0MTA0Yz1mYWxzZQogICBnbF9nbnVsaWJfZW5hYmxlZF9ldWlkYWNjZXNzPWZh bHNlCisgIGdsX2dudWxpYl9lbmFibGVkX2VmMDdkYzRiMzA3N2MxMWVhOWNlZjU4NmRiNGU1OTU1 PWZhbHNlCiAgIGdsX2dudWxpYl9lbmFibGVkX2dldGR0YWJsZXNpemU9ZmFsc2UKICAgZ2xfZ251 bGliX2VuYWJsZWRfZ2V0Z3JvdXBzPWZhbHNlCiAgIGdsX2dudWxpYl9lbmFibGVkX2JlNDUzY2Vj NWVlY2Y1NzMxYTI3NGYyZGU3ZjJkYjM2PWZhbHNlCkBAIC01OTQsNiArNTg5LDE4IEBAIEFDX0RF RlVOCiAgICAgICBmdW5jX2dsX2dudWxpYl9tNGNvZGVfNjA5OWU5NzM3Zjc1N2RiMzZjNDdmYTlk OWYwMmU4OGMKICAgICBmaQogICB9CisgIGZ1bmNfZ2xfZ251bGliX200Y29kZV9lZjA3ZGM0YjMw NzdjMTFlYTljZWY1ODZkYjRlNTk1NSAoKQorICB7CisgICAgaWYgISAkZ2xfZ251bGliX2VuYWJs ZWRfZWYwN2RjNGIzMDc3YzExZWE5Y2VmNTg2ZGI0ZTU5NTU7IHRoZW4KKyAgICAgIGdsX0ZVTkNf RlJFRQorICAgICAgaWYgdGVzdCAkUkVQTEFDRV9GUkVFID0gMTsgdGhlbgorICAgICAgICBBQ19M SUJPQkooW2ZyZWVdKQorICAgICAgICBnbF9QUkVSRVFfRlJFRQorICAgICAgZmkKKyAgICAgIGds X1NURExJQl9NT0RVTEVfSU5ESUNBVE9SKFtmcmVlLXBvc2l4XSkKKyAgICAgIGdsX2dudWxpYl9l bmFibGVkX2VmMDdkYzRiMzA3N2MxMWVhOWNlZjU4NmRiNGU1OTU1PXRydWUKKyAgICBmaQorICB9 CiAgIGZ1bmNfZ2xfZ251bGliX200Y29kZV9nZXRkdGFibGVzaXplICgpCiAgIHsKICAgICBpZiAh ICRnbF9nbnVsaWJfZW5hYmxlZF9nZXRkdGFibGVzaXplOyB0aGVuCkBAIC03NDUsNiArNzUyLDkg QEAgQUNfREVGVU4KICAgaWYgdGVzdCAkSEFWRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FID0gMCB8 fCB0ZXN0ICRSRVBMQUNFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgPSAxOyB0aGVuCiAgICAgZnVu Y19nbF9nbnVsaWJfbTRjb2RlXzkyNTY3N2YwMzQzZGU2NGI4OWE5ZjBjNzkwYjQxMDRjCiAgIGZp CisgIGlmIHRlc3QgJEhBVkVfQ0FOT05JQ0FMSVpFX0ZJTEVfTkFNRSA9IDAgfHwgdGVzdCAkUkVQ TEFDRV9DQU5PTklDQUxJWkVfRklMRV9OQU1FID0gMTsgdGhlbgorICAgIGZ1bmNfZ2xfZ251bGli X200Y29kZV9lZjA3ZGM0YjMwNzdjMTFlYTljZWY1ODZkYjRlNTk1NQorICBmaQogICBpZiB0ZXN0 ICRIQVZFX0NBTk9OSUNBTElaRV9GSUxFX05BTUUgPSAwIHx8IHRlc3QgJFJFUExBQ0VfQ0FOT05J Q0FMSVpFX0ZJTEVfTkFNRSA9IDE7IHRoZW4KICAgICBmdW5jX2dsX2dudWxpYl9tNGNvZGVfaWR4 CiAgIGZpCkBAIC04MzMsNiArODQzLDcgQEAgQUNfREVGVU4KICAgQU1fQ09ORElUSU9OQUwoW2ds X0dOVUxJQl9FTkFCTEVEX2R5bmFycmF5XSwgWyRnbF9nbnVsaWJfZW5hYmxlZF9keW5hcnJheV0p CiAgIEFNX0NPTkRJVElPTkFMKFtnbF9HTlVMSUJfRU5BQkxFRF85MjU2NzdmMDM0M2RlNjRiODlh OWYwYzc5MGI0MTA0Y10sIFskZ2xfZ251bGliX2VuYWJsZWRfOTI1Njc3ZjAzNDNkZTY0Yjg5YTlm MGM3OTBiNDEwNGNdKQogICBBTV9DT05ESVRJT05BTChbZ2xfR05VTElCX0VOQUJMRURfZXVpZGFj Y2Vzc10sIFskZ2xfZ251bGliX2VuYWJsZWRfZXVpZGFjY2Vzc10pCisgIEFNX0NPTkRJVElPTkFM KFtnbF9HTlVMSUJfRU5BQkxFRF9lZjA3ZGM0YjMwNzdjMTFlYTljZWY1ODZkYjRlNTk1NV0sIFsk Z2xfZ251bGliX2VuYWJsZWRfZWYwN2RjNGIzMDc3YzExZWE5Y2VmNTg2ZGI0ZTU5NTVdKQogICBB TV9DT05ESVRJT05BTChbZ2xfR05VTElCX0VOQUJMRURfZ2V0ZHRhYmxlc2l6ZV0sIFskZ2xfZ251 bGliX2VuYWJsZWRfZ2V0ZHRhYmxlc2l6ZV0pCiAgIEFNX0NPTkRJVElPTkFMKFtnbF9HTlVMSUJf RU5BQkxFRF9nZXRncm91cHNdLCBbJGdsX2dudWxpYl9lbmFibGVkX2dldGdyb3Vwc10pCiAgIEFN X0NPTkRJVElPTkFMKFtnbF9HTlVMSUJfRU5BQkxFRF9iZTQ1M2NlYzVlZWNmNTczMWEyNzRmMmRl N2YyZGIzNl0sIFskZ2xfZ251bGliX2VuYWJsZWRfYmU0NTNjZWM1ZWVjZjU3MzFhMjc0ZjJkZTdm MmRiMzZdKQpkaWZmIC0tZ2l0IGEvbTQvZ251bGliLXRvb2wubTQgYi9tNC9nbnVsaWItdG9vbC5t NApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi4zZDU2ZDgzZjEyOGRi Ci0tLSAvZGV2L251bGwKKysrIGIvbTQvZ251bGliLXRvb2wubTQKQEAgLTAsMCArMSw1NyBAQAor IyBnbnVsaWItdG9vbC5tNCBzZXJpYWwgMgorZG5sIENvcHlyaWdodCAoQykgMjAwNC0yMDA1LCAy MDA5LTIwMjEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitkbmwgVGhpcyBmaWxlIGlz IGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KK2RubCBnaXZlcyB1 bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LAorZG5sIHdp dGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHBy ZXNlcnZlZC4KKworZG5sIFRoZSBmb2xsb3dpbmcgbWFjcm9zIG5lZWQgbm90IGJlIGludm9rZWQg ZXhwbGljaXRseS4KK2RubCBJbnZva2luZyB0aGVtIGRvZXMgbm90aGluZyBleGNlcHQgdG8gZGVj bGFyZSBkZWZhdWx0IGFyZ3VtZW50cworZG5sIGZvciAiZ251bGliLXRvb2wgLS1pbXBvcnQiLgor CitkbmwgVXNhZ2U6IGdsX0xPQ0FMX0RJUihbRElSXSkKK0FDX0RFRlVOKFtnbF9MT0NBTF9ESVJd LCBbXSkKKworZG5sIFVzYWdlOiBnbF9NT0RVTEVTKFttb2R1bGUxIG1vZHVsZTIgLi4uXSkKK0FD X0RFRlVOKFtnbF9NT0RVTEVTXSwgW10pCisKK2RubCBVc2FnZTogZ2xfQVZPSUQoW21vZHVsZTEg bW9kdWxlMiAuLi5dKQorQUNfREVGVU4oW2dsX0FWT0lEXSwgW10pCisKK2RubCBVc2FnZTogZ2xf U09VUkNFX0JBU0UoW0RJUl0pCitBQ19ERUZVTihbZ2xfU09VUkNFX0JBU0VdLCBbXSkKKworZG5s IFVzYWdlOiBnbF9NNF9CQVNFKFtESVJdKQorQUNfREVGVU4oW2dsX000X0JBU0VdLCBbXSkKKwor ZG5sIFVzYWdlOiBnbF9QT19CQVNFKFtESVJdKQorQUNfREVGVU4oW2dsX1BPX0JBU0VdLCBbXSkK KworZG5sIFVzYWdlOiBnbF9ET0NfQkFTRShbRElSXSkKK0FDX0RFRlVOKFtnbF9ET0NfQkFTRV0s IFtdKQorCitkbmwgVXNhZ2U6IGdsX1RFU1RTX0JBU0UoW0RJUl0pCitBQ19ERUZVTihbZ2xfVEVT VFNfQkFTRV0sIFtdKQorCitkbmwgVXNhZ2U6IGdsX1dJVEhfVEVTVFMKK0FDX0RFRlVOKFtnbF9X SVRIX1RFU1RTXSwgW10pCisKK2RubCBVc2FnZTogZ2xfTElCKFtMSUJOQU1FXSkKK0FDX0RFRlVO KFtnbF9MSUJdLCBbXSkKKworZG5sIFVzYWdlOiBnbF9MR1BMIG9yIGdsX0xHUEwoW1ZFUlNJT05d KQorQUNfREVGVU4oW2dsX0xHUExdLCBbXSkKKworZG5sIFVzYWdlOiBnbF9NQUtFRklMRV9OQU1F KFtGSUxFTkFNRV0pCitBQ19ERUZVTihbZ2xfTUFLRUZJTEVfTkFNRV0sIFtdKQorCitkbmwgVXNh Z2U6IGdsX0xJQlRPT0wKK0FDX0RFRlVOKFtnbF9MSUJUT09MXSwgW10pCisKK2RubCBVc2FnZTog Z2xfTUFDUk9fUFJFRklYKFtQUkVGSVhdKQorQUNfREVGVU4oW2dsX01BQ1JPX1BSRUZJWF0sIFtd KQorCitkbmwgVXNhZ2U6IGdsX1BPX0RPTUFJTihbRE9NQUlOXSkKK0FDX0RFRlVOKFtnbF9QT19E T01BSU5dLCBbXSkKKworZG5sIFVzYWdlOiBnbF9WQ19GSUxFUyhbQk9PTEVBTl0pCitBQ19ERUZV TihbZ2xfVkNfRklMRVNdLCBbXSkKZGlmZiAtLWdpdCBhL200L21hbnl3YXJuaW5ncy1jKysubTQg Yi9tNC9tYW55d2FybmluZ3MtYysrLm00Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMDAuLmZiYjhmNzdmOGJlYjcKLS0tIC9kZXYvbnVsbAorKysgYi9tNC9tYW55d2Fybmlu Z3MtYysrLm00CkBAIC0wLDAgKzEsMjQzIEBACisjIG1hbnl3YXJuaW5ncy1jKysubTQgc2VyaWFs IDMKK2RubCBDb3B5cmlnaHQgKEMpIDIwMDgtMjAyMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24s IEluYy4KK2RubCBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbgorZG5sIGdpdmVzIHVubGltaXRlZCBwZXJtaXNzaW9uIHRvIGNvcHkgYW5kL29y IGRpc3RyaWJ1dGUgaXQsCitkbmwgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbnMsIGFzIGxv bmcgYXMgdGhpcyBub3RpY2UgaXMgcHJlc2VydmVkLgorCisjIEltcGxlbWVudGF0aW9uIG9mIHRo ZSBzcGVjaWFsaXphdGlvbiBvZiBnbF9NQU5ZV0FSTl9BTExfR0NDCisjIGZvciBfQUNfTEFORyA9 IEMrKy4KK0FDX0RFRlVOKFtnbF9NQU5ZV0FSTl9BTExfR0NDX0NYWF9JTVBMXSwKK1sKKyAgQUNf TEFOR19QVVNIKFtDKytdKQorCisgIGRubCBGaXJzdCwgY2hlY2sgZm9yIHNvbWUgaXNzdWVzIHRo YXQgb25seSBvY2N1ciB3aGVuIGNvbWJpbmluZyBtdWx0aXBsZQorICBkbmwgZ2NjIHdhcm5pbmcg Y2F0ZWdvcmllcy4KKyAgQUNfUkVRVUlSRShbQUNfUFJPR19DWFhdKQorICBpZiB0ZXN0IC1uICIk R1hYIjsgdGhlbgorCisgICAgZG5sIENoZWNrIGlmIC1XIC1XZXJyb3IgLVduby1taXNzaW5nLWZp ZWxkLWluaXRpYWxpemVycyBpcyBzdXBwb3J0ZWQKKyAgICBkbmwgd2l0aCB0aGUgY3VycmVudCAk Q1hYICRDWFhGTEFHUyAkQ1BQRkxBR1MuCisgICAgQUNfQ0FDSEVfQ0hFQ0soW3doZXRoZXIgLVdu by1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyBpcyBzdXBwb3J0ZWRdLAorICAgICAgW2dsX2N2 X2N4eF9ub21maV9zdXBwb3J0ZWRdLAorICAgICAgW2dsX3NhdmVfQ1hYRkxBR1M9IiRDWFhGTEFH UyIKKyAgICAgICBDWFhGTEFHUz0iJENYWEZMQUdTIC1XIC1XZXJyb3IgLVduby1taXNzaW5nLWZp ZWxkLWluaXRpYWxpemVycyIKKyAgICAgICBBQ19DT01QSUxFX0lGRUxTRSgKKyAgICAgICAgIFtB Q19MQU5HX1BST0dSQU0oW1tdXSwgW1tdXSldLAorICAgICAgICAgW2dsX2N2X2N4eF9ub21maV9z dXBwb3J0ZWQ9eWVzXSwKKyAgICAgICAgIFtnbF9jdl9jeHhfbm9tZmlfc3VwcG9ydGVkPW5vXSkK KyAgICAgICBDWFhGTEFHUz0iJGdsX3NhdmVfQ1hYRkxBR1MiCisgICAgICBdKQorCisgICAgaWYg dGVzdCAiJGdsX2N2X2N4eF9ub21maV9zdXBwb3J0ZWQiID0geWVzOyB0aGVuCisgICAgICBkbmwg Tm93IGNoZWNrIHdoZXRoZXIgLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVycyBpcyBuZWVk ZWQKKyAgICAgIGRubCBmb3IgdGhlIHsgMCwgfSBjb25zdHJ1Y3QuCisgICAgICBBQ19DQUNIRV9D SEVDSyhbd2hldGhlciAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIGlzIG5lZWRlZF0s CisgICAgICAgIFtnbF9jdl9jeHhfbm9tZmlfbmVlZGVkXSwKKyAgICAgICAgW2dsX3NhdmVfQ1hY RkxBR1M9IiRDWFhGTEFHUyIKKyAgICAgICAgIENYWEZMQUdTPSIkQ1hYRkxBR1MgLVcgLVdlcnJv ciIKKyAgICAgICAgIEFDX0NPTVBJTEVfSUZFTFNFKAorICAgICAgICAgICBbQUNfTEFOR19QUk9H UkFNKAorICAgICAgICAgICAgICBbW2ludCBmICh2b2lkKQorICAgICAgICAgICAgICAgIHsKKyAg ICAgICAgICAgICAgICAgIHR5cGVkZWYgc3RydWN0IHsgaW50IGE7IGludCBiOyB9IHNfdDsKKyAg ICAgICAgICAgICAgICAgIHNfdCBzMSA9IHsgMCwgfTsKKyAgICAgICAgICAgICAgICAgIHJldHVy biBzMS5iOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgXV0sCisgICAgICAgICAg ICAgIFtbXV0pXSwKKyAgICAgICAgICAgW2dsX2N2X2N4eF9ub21maV9uZWVkZWQ9bm9dLAorICAg ICAgICAgICBbZ2xfY3ZfY3h4X25vbWZpX25lZWRlZD15ZXNdKQorICAgICAgICAgQ1hYRkxBR1M9 IiRnbF9zYXZlX0NYWEZMQUdTIgorICAgICAgICBdKQorICAgIGZpCisKKyAgICBkbmwgTmV4dCwg Y2hlY2sgaWYgLVdlcnJvciAtV3VuaW5pdGlhbGl6ZWQgaXMgdXNlZnVsIHdpdGggdGhlCisgICAg ZG5sIHVzZXIncyBjaG9pY2Ugb2YgJENYWEZMQUdTOyBzb21lIHZlcnNpb25zIG9mIGdjYyB3YXJu IHRoYXQgaXQKKyAgICBkbmwgaGFzIG5vIGVmZmVjdCBpZiAtTyBpcyBub3QgYWxzbyB1c2VkCisg ICAgQUNfQ0FDSEVfQ0hFQ0soW3doZXRoZXIgLVd1bmluaXRpYWxpemVkIGlzIHN1cHBvcnRlZF0s CisgICAgICBbZ2xfY3ZfY3h4X3VuaW5pdGlhbGl6ZWRfc3VwcG9ydGVkXSwKKyAgICAgIFtnbF9z YXZlX0NYWEZMQUdTPSIkQ1hYRkxBR1MiCisgICAgICAgQ1hYRkxBR1M9IiRDWFhGTEFHUyAtV2Vy cm9yIC1XdW5pbml0aWFsaXplZCIKKyAgICAgICBBQ19DT01QSUxFX0lGRUxTRSgKKyAgICAgICAg IFtBQ19MQU5HX1BST0dSQU0oW1tdXSwgW1tdXSldLAorICAgICAgICAgW2dsX2N2X2N4eF91bmlu aXRpYWxpemVkX3N1cHBvcnRlZD15ZXNdLAorICAgICAgICAgW2dsX2N2X2N4eF91bmluaXRpYWxp emVkX3N1cHBvcnRlZD1ub10pCisgICAgICAgQ1hYRkxBR1M9IiRnbF9zYXZlX0NYWEZMQUdTIgor ICAgICAgXSkKKworICBmaQorCisgICMgTGlzdCBhbGwgZ2NjIHdhcm5pbmcgY2F0ZWdvcmllcy4K KyAgIyBUbyBjb21wYXJlIHRoaXMgbGlzdCB0byB5b3VyIGluc3RhbGxlZCBHQ0MncywgcnVuIHRo aXMgQmFzaCBjb21tYW5kOgorICAjCisgICMgY29tbSAtMyBcCisgICMgIDwoc2VkIC1uICdzL14g ICpcKC1bXiBdKlwpIC4qL1wxL3AnIG1hbnl3YXJuaW5ncy1jKysubTQgfCBzb3J0KSBcCisgICMg IDwoZ2NjIC0taGVscD13YXJuaW5ncyB8IHNlZCAtbiAncy9eICBcKC1bXiBdKlwpIC4qL1wxL3An IHwgc29ydCB8CisgICMgICAgICBncmVwIC12IC14IC1mIDwoCisgICMgICAgICAgICBhd2sgJy9e W14jXS8ge3ByaW50ICQxfScgLi4vYnVpbGQtYXV4L2crKy13YXJuaW5nLnNwZWMpKQorCisgIGds X21hbnl3YXJuX3NldD0KKyAgZm9yIGdsX21hbnl3YXJuX2l0ZW0gaW4gXAorICAgIC1XIFwKKyAg ICAtV2FiaS10YWcgXAorICAgIC1XYWRkcmVzcyBcCisgICAgLVdhZ2dyZXNzaXZlLWxvb3Atb3B0 aW1pemF0aW9ucyBcCisgICAgLVdhbGwgXAorICAgIC1XYXR0cmlidXRlcyBcCisgICAgLVdib29s LWNvbXBhcmUgXAorICAgIC1XYnVpbHRpbi1tYWNyby1yZWRlZmluZWQgXAorICAgIC1XY2FzdC1h bGlnbiBcCisgICAgLVdjaGFyLXN1YnNjcmlwdHMgXAorICAgIC1XY2xvYmJlcmVkIFwKKyAgICAt V2NvbW1lbnQgXAorICAgIC1XY29tbWVudHMgXAorICAgIC1XY29uZGl0aW9uYWxseS1zdXBwb3J0 ZWQgXAorICAgIC1XY29udmVyc2lvbi1udWxsIFwKKyAgICAtV2NvdmVyYWdlLW1pc21hdGNoIFwK KyAgICAtV2NwcCBcCisgICAgLVdjdG9yLWR0b3ItcHJpdmFjeSBcCisgICAgLVdkYXRlLXRpbWUg XAorICAgIC1XZGVsZXRlLWluY29tcGxldGUgXAorICAgIC1XZGVsZXRlLW5vbi12aXJ0dWFsLWR0 b3IgXAorICAgIC1XZGVwcmVjYXRlZCBcCisgICAgLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyBc CisgICAgLVdkaXNhYmxlZC1vcHRpbWl6YXRpb24gXAorICAgIC1XZGl2LWJ5LXplcm8gXAorICAg IC1XZG91YmxlLXByb21vdGlvbiBcCisgICAgLVdlZmZjKysgXAorICAgIC1XZW1wdHktYm9keSBc CisgICAgLVdlbmRpZi1sYWJlbHMgXAorICAgIC1XZW51bS1jb21wYXJlIFwKKyAgICAtV2V4dHJh IFwKKyAgICAtV2Zvcm1hdC1jb250YWlucy1udWwgXAorICAgIC1XZm9ybWF0LWV4dHJhLWFyZ3Mg XAorICAgIC1XZm9ybWF0LW5vbmxpdGVyYWwgXAorICAgIC1XZm9ybWF0LXNlY3VyaXR5IFwKKyAg ICAtV2Zvcm1hdC1zaWduZWRuZXNzIFwKKyAgICAtV2Zvcm1hdC15MmsgXAorICAgIC1XZm9ybWF0 LXplcm8tbGVuZ3RoIFwKKyAgICAtV2ZyZWUtbm9uaGVhcC1vYmplY3QgXAorICAgIC1XaWdub3Jl ZC1xdWFsaWZpZXJzIFwKKyAgICAtV2luaGVyaXRlZC12YXJpYWRpYy1jdG9yIFwKKyAgICAtV2lu aXQtc2VsZiBcCisgICAgLVdpbmxpbmUgXAorICAgIC1XaW50LXRvLXBvaW50ZXItY2FzdCBcCisg ICAgLVdpbnZhbGlkLW1lbW9yeS1tb2RlbCBcCisgICAgLVdpbnZhbGlkLW9mZnNldG9mIFwKKyAg ICAtV2ludmFsaWQtcGNoIFwKKyAgICAtV2xpdGVyYWwtc3VmZml4IFwKKyAgICAtV2xvZ2ljYWwt bm90LXBhcmVudGhlc2VzIFwKKyAgICAtV2xvZ2ljYWwtb3AgXAorICAgIC1XbWFpbiBcCisgICAg LVdtYXliZS11bmluaXRpYWxpemVkIFwKKyAgICAtV21lbXNldC10cmFuc3Bvc2VkLWFyZ3MgXAor ICAgIC1XbWlzc2luZy1icmFjZXMgXAorICAgIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgXAorICAg IC1XbWlzc2luZy1maWVsZC1pbml0aWFsaXplcnMgXAorICAgIC1XbWlzc2luZy1pbmNsdWRlLWRp cnMgXAorICAgIC1XbXVsdGljaGFyIFwKKyAgICAtV25hcnJvd2luZyBcCisgICAgLVdub2V4Y2Vw dCBcCisgICAgLVdub24tdGVtcGxhdGUtZnJpZW5kIFwKKyAgICAtV25vbi12aXJ0dWFsLWR0b3Ig XAorICAgIC1Xbm9ubnVsbCBcCisgICAgLVdvZHIgXAorICAgIC1Xb2xkLXN0eWxlLWNhc3QgXAor ICAgIC1Xb3Blbm1wLXNpbWQgXAorICAgIC1Xb3ZlcmZsb3cgXAorICAgIC1Xb3Zlcmxlbmd0aC1z dHJpbmdzIFwKKyAgICAtV292ZXJsb2FkZWQtdmlydHVhbCBcCisgICAgLVdwYWNrZWQgXAorICAg IC1XcGFja2VkLWJpdGZpZWxkLWNvbXBhdCBcCisgICAgLVdwYXJlbnRoZXNlcyBcCisgICAgLVdw bWYtY29udmVyc2lvbnMgXAorICAgIC1XcG9pbnRlci1hcml0aCBcCisgICAgLVdwcmFnbWFzIFwK KyAgICAtV3Jlb3JkZXIgXAorICAgIC1XcmV0dXJuLWxvY2FsLWFkZHIgXAorICAgIC1XcmV0dXJu LXR5cGUgXAorICAgIC1Xc2VxdWVuY2UtcG9pbnQgXAorICAgIC1Xc2hhZG93IFwKKyAgICAtV3No aWZ0LWNvdW50LW5lZ2F0aXZlIFwKKyAgICAtV3NoaWZ0LWNvdW50LW92ZXJmbG93IFwKKyAgICAt V3NpZ24tcHJvbW8gXAorICAgIC1Xc2l6ZWQtZGVhbGxvY2F0aW9uIFwKKyAgICAtV3NpemVvZi1h cnJheS1hcmd1bWVudCBcCisgICAgLVdzaXplb2YtcG9pbnRlci1tZW1hY2Nlc3MgXAorICAgIC1X c3RhY2stcHJvdGVjdG9yIFwKKyAgICAtV3N0cmljdC1hbGlhc2luZyBcCisgICAgLVdzdHJpY3Qt bnVsbC1zZW50aW5lbCBcCisgICAgLVdzdHJpY3Qtb3ZlcmZsb3cgXAorICAgIC1Xc3VnZ2VzdC1h dHRyaWJ1dGU9Y29uc3QgXAorICAgIC1Xc3VnZ2VzdC1hdHRyaWJ1dGU9Zm9ybWF0IFwKKyAgICAt V3N1Z2dlc3QtYXR0cmlidXRlPW5vcmV0dXJuIFwKKyAgICAtV3N1Z2dlc3QtYXR0cmlidXRlPXB1 cmUgXAorICAgIC1Xc3VnZ2VzdC1maW5hbC1tZXRob2RzIFwKKyAgICAtV3N1Z2dlc3QtZmluYWwt dHlwZXMgXAorICAgIC1Xc3VnZ2VzdC1vdmVycmlkZSBcCisgICAgLVdzd2l0Y2ggXAorICAgIC1X c3dpdGNoLWJvb2wgXAorICAgIC1Xc3luYy1uYW5kIFwKKyAgICAtV3N5c3RlbS1oZWFkZXJzIFwK KyAgICAtV3RyYW1wb2xpbmVzIFwKKyAgICAtV3RyaWdyYXBocyBcCisgICAgLVd0eXBlLWxpbWl0 cyBcCisgICAgLVd1bmluaXRpYWxpemVkIFwKKyAgICAtV3Vua25vd24tcHJhZ21hcyBcCisgICAg LVd1bnNhZmUtbG9vcC1vcHRpbWl6YXRpb25zIFwKKyAgICAtV3VudXNlZCBcCisgICAgLVd1bnVz ZWQtYnV0LXNldC1wYXJhbWV0ZXIgXAorICAgIC1XdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgXAor ICAgIC1XdW51c2VkLWZ1bmN0aW9uIFwKKyAgICAtV3VudXNlZC1sYWJlbCBcCisgICAgLVd1bnVz ZWQtbG9jYWwtdHlwZWRlZnMgXAorICAgIC1XdW51c2VkLW1hY3JvcyBcCisgICAgLVd1bnVzZWQt cGFyYW1ldGVyIFwKKyAgICAtV3VudXNlZC1yZXN1bHQgXAorICAgIC1XdW51c2VkLXZhbHVlIFwK KyAgICAtV3VudXNlZC12YXJpYWJsZSBcCisgICAgLVd1c2VsZXNzLWNhc3QgXAorICAgIC1XdmFy YXJncyBcCisgICAgLVd2YXJpYWRpYy1tYWNyb3MgXAorICAgIC1XdmVjdG9yLW9wZXJhdGlvbi1w ZXJmb3JtYW5jZSBcCisgICAgLVd2aXJ0dWFsLW1vdmUtYXNzaWduIFwKKyAgICAtV3ZsYSBcCisg ICAgLVd2b2xhdGlsZS1yZWdpc3Rlci12YXIgXAorICAgIC1Xd3JpdGUtc3RyaW5ncyBcCisgICAg LVd6ZXJvLWFzLW51bGwtcG9pbnRlci1jb25zdGFudCBcCisgICAgXAorICAgIDsgZG8KKyAgICBn bF9tYW55d2Fybl9zZXQ9IiRnbF9tYW55d2Fybl9zZXQgJGdsX21hbnl3YXJuX2l0ZW0iCisgIGRv bmUKKworICAjIGdjYyAtLWhlbHA9d2FybmluZ3Mgb3V0cHV0cyBhbiB1bnVzdWFsIGZvcm0gZm9y IHRoZXNlIG9wdGlvbnM7IGxpc3QKKyAgIyB0aGVtIGhlcmUgc28gdGhhdCB0aGUgYWJvdmUgJ2Nv bW0nIGNvbW1hbmQgZG9lc24ndCByZXBvcnQgYSBmYWxzZSBtYXRjaC4KKyAgZ2xfbWFueXdhcm5f c2V0PSIkZ2xfbWFueXdhcm5fc2V0IC1XYXJyYXktYm91bmRzPTIiCisgIGdsX21hbnl3YXJuX3Nl dD0iJGdsX21hbnl3YXJuX3NldCAtV25vcm1hbGl6ZWQ9bmZjIgorICBnbF9tYW55d2Fybl9zZXQ9 IiRnbF9tYW55d2Fybl9zZXQgLVdzaGlmdC1vdmVyZmxvdz0yIgorICBnbF9tYW55d2Fybl9zZXQ9 IiRnbF9tYW55d2Fybl9zZXQgLVd1bnVzZWQtY29uc3QtdmFyaWFibGU9MiIKKworICAjIFRoZXNl IGFyZSBuZWVkZWQgZm9yIG9sZGVyIEdDQyB2ZXJzaW9ucy4KKyAgaWYgdGVzdCAtbiAiJEdYWCI7 IHRoZW4KKyAgICBjYXNlIGAoJENYWCAtLXZlcnNpb24pIDI+L2Rldi9udWxsYCBpbgorICAgICAg J2crKyAoR0NDKSAnW1swLTNdXS4qIHwgXAorICAgICAgJ2crKyAoR0NDKSAnNC5bWzAtN11dLiop CisgICAgICAgIGdsX21hbnl3YXJuX3NldD0iJGdsX21hbnl3YXJuX3NldCAtZmRpYWdub3N0aWNz LXNob3ctb3B0aW9uIgorICAgICAgICBnbF9tYW55d2Fybl9zZXQ9IiRnbF9tYW55d2Fybl9zZXQg LWZ1bml0LWF0LWEtdGltZSIKKyAgICAgICAgICA7OworICAgIGVzYWMKKyAgZmkKKworICAjIERp c2FibGUgc3BlY2lmaWMgb3B0aW9ucyBhcyBuZWVkZWQuCisgIGlmIHRlc3QgIiRnbF9jdl9jeHhf bm9tZmlfbmVlZGVkIiA9IHllczsgdGhlbgorICAgIGdsX21hbnl3YXJuX3NldD0iJGdsX21hbnl3 YXJuX3NldCAtV25vLW1pc3NpbmctZmllbGQtaW5pdGlhbGl6ZXJzIgorICBmaQorCisgIGlmIHRl c3QgIiRnbF9jdl9jeHhfdW5pbml0aWFsaXplZF9zdXBwb3J0ZWQiID0gbm87IHRoZW4KKyAgICBn bF9tYW55d2Fybl9zZXQ9IiRnbF9tYW55d2Fybl9zZXQgLVduby11bmluaXRpYWxpemVkIgorICBm aQorCisgICQxPSRnbF9tYW55d2Fybl9zZXQKKworICBBQ19MQU5HX1BPUChbQysrXSkKK10pCmRp ZmYgLS1naXQgYS9tNC93YXJuLW9uLXVzZS5tNCBiL200L3dhcm4tb24tdXNlLm00Cm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjA0ZWRmZTg1ZDQ5OTcKLS0tIC9kZXYv bnVsbAorKysgYi9tNC93YXJuLW9uLXVzZS5tNApAQCAtMCwwICsxLDQ5IEBACisjIHdhcm4tb24t dXNlLm00IHNlcmlhbCA5CitkbmwgQ29weXJpZ2h0IChDKSAyMDEwLTIwMjEgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCitkbmwgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KK2RubCBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0 byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LAorZG5sIHdpdGggb3Igd2l0aG91dCBtb2RpZmlj YXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KKworIyBnbF9XQVJO X09OX1VTRV9QUkVQQVJFKElOQ0xVREVTLCBOQU1FUykKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisjIElmIHRoZSBtb2R1bGUgJ3Bvc2l4Y2hlY2snIGlzIGluIHVz ZToKKyMKKyMgRm9yIGVhY2ggd2hpdGVzcGFjZS1zZXBhcmF0ZWQgZWxlbWVudCBpbiB0aGUgbGlz dCBvZiBOQU1FUywgZGVmaW5lCisjIEhBVkVfUkFXX0RFQ0xfbmFtZSBpZiB0aGUgZnVuY3Rpb24g aGFzIGEgZGVjbGFyYXRpb24gYW1vbmcgSU5DTFVERVMKKyMgZXZlbiBhZnRlciBiZWluZyB1bmRl ZmluZWQgYXMgYSBtYWNyby4KKyMKKyMgU2VlIHdhcm4tb24tdXNlLmggZm9yIHNvbWUgaGludHMg b24gaG93IHRvIHBvaXNvbiBmdW5jdGlvbiBuYW1lcywgYXMKKyMgd2VsbCBhcyBpZGVhcyBvbiBw b2lzb25pbmcgZ2xvYmFsIHZhcmlhYmxlcyBhbmQgbWFjcm9zLiAgTkFNRVMgbWF5CisjIGluY2x1 ZGUgZ2xvYmFsIHZhcmlhYmxlcywgYnV0IHJlbWVtYmVyIHRoYXQgb25seSBmdW5jdGlvbnMgd29y ayB3aXRoCisjIF9HTF9XQVJOX09OX1VTRS4gIFR5cGljYWxseSwgSU5DTFVERVMgb25seSBuZWVk cyB0byBsaXN0IGEgc2luZ2xlCisjIGhlYWRlciwgYnV0IGlmIHRoZSByZXBsYWNlbWVudCBoZWFk ZXIgcHVsbHMgaW4gb3RoZXIgaGVhZGVycyBiZWNhdXNlCisjIHNvbWUgc3lzdGVtcyBkZWNsYXJl IGZ1bmN0aW9ucyBpbiB0aGUgd3JvbmcgaGVhZGVyLCB0aGVuIElOQ0xVREVTCisjIHNob3VsZCBk byBsaWtld2lzZS4KKyMKKyMgSXQgaXMgZ2VuZXJhbGx5IHNhZmUgdG8gYXNzdW1lIGRlY2xhcmF0 aW9ucyBmb3IgZnVuY3Rpb25zIGRlY2xhcmVkCisjIGluIHRoZSBpbnRlcnNlY3Rpb24gb2YgQzg5 IGFuZCBDMTEgKHN1Y2ggYXMgcHJpbnRmKSB3aXRob3V0CisjIG5lZWRpbmcgZ2xfV0FSTl9PTl9V U0VfUFJFUEFSRS4KK0FDX0RFRlVOKFtnbF9XQVJOX09OX1VTRV9QUkVQQVJFXSwKK1sKKyAgbTRf aWZkZWYoW2dsX1BPU0lYQ0hFQ0tdLAorICAgIFttNF9mb3JlYWNoX3coW2dsX2RlY2xdLCBbJDJd LAorICAgICAgIFtBSF9URU1QTEFURShbSEFWRV9SQVdfREVDTF9dQVNfVFJfQ1BQKG00X2RlZm4o W2dsX2RlY2xdKSksCisgICAgICAgICBbRGVmaW5lIHRvIDEgaWYgXW00X2RlZm4oW2dsX2RlY2xd KVsgaXMgZGVjbGFyZWQgZXZlbiBhZnRlcgorICAgICAgICAgIHVuZGVmaW5pbmcgbWFjcm9zLl0p XSlkbmwKKyAgICAgZm9yIGdsX2Z1bmMgaW4gbTRfZmxhdHRlbihbJDJdKTsgZG8KKyAgICAgICBB U19WQVJfUFVTSERFRihbZ2xfU3ltYm9sXSwgW2dsX2N2X2hhdmVfcmF3X2RlY2xfJGdsX2Z1bmNd KWRubAorICAgICAgIEFDX0NBQ0hFX0NIRUNLKFt3aGV0aGVyICRnbF9mdW5jIGlzIGRlY2xhcmVk IHdpdGhvdXQgYSBtYWNyb10sCisgICAgICAgICBbZ2xfU3ltYm9sXSwKKyAgICAgICAgIFtBQ19D T01QSUxFX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFskMV0sCitbWyN1bmRlZiAkZ2xfZnVuYwor ICAodm9pZCkgJGdsX2Z1bmM7XV0pXSwKKyAgICAgICAgICAgW0FTX1ZBUl9TRVQoW2dsX1N5bWJv bF0sIFt5ZXNdKV0sIFtBU19WQVJfU0VUKFtnbF9TeW1ib2xdLCBbbm9dKV0pXSkKKyAgICAgICBB U19WQVJfSUYoW2dsX1N5bWJvbF0sIFt5ZXNdLAorICAgICAgICAgW0FDX0RFRklORV9VTlFVT1RF RChBU19UUl9DUFAoW0hBVkVfUkFXX0RFQ0xfJGdsX2Z1bmNdKSwgWzFdKQorICAgICAgICAgIGRu bCBzaG9ydGN1dCAtIGlmIHRoZSByYXcgZGVjbGFyYXRpb24gZXhpc3RzLCB0aGVuIHNldCBhIGNh Y2hlCisgICAgICAgICAgZG5sIHZhcmlhYmxlIHRvIGFsbG93IHNraXBwaW5nIGFueSBsYXRlciBB Q19DSEVDS19ERUNMIGVmZm9ydHMKKyAgICAgICAgICBldmFsIGFjX2N2X2hhdmVfZGVjbF8kZ2xf ZnVuYz15ZXNdKQorICAgICAgIEFTX1ZBUl9QT1BERUYoW2dsX1N5bWJvbF0pZG5sCisgICAgIGRv bmUKKyAgICBdKQorXSkKZGlmZiAtLWdpdCBhL200L3dpbnRfdC5tNCBiL200L3dpbnRfdC5tNApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi4yZmM3NDY3ZjQyMjhkCi0t LSAvZGV2L251bGwKKysrIGIvbTQvd2ludF90Lm00CkBAIC0wLDAgKzEsNTcgQEAKKyMgd2ludF90 Lm00IHNlcmlhbCAxMAorZG5sIENvcHlyaWdodCAoQykgMjAwMywgMjAwNy0yMDIxIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgSW5jLgorZG5sIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCitkbmwgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Np b24gdG8gY29weSBhbmQvb3IgZGlzdHJpYnV0ZSBpdCwKK2RubCB3aXRoIG9yIHdpdGhvdXQgbW9k aWZpY2F0aW9ucywgYXMgbG9uZyBhcyB0aGlzIG5vdGljZSBpcyBwcmVzZXJ2ZWQuCisKK2RubCBG cm9tIEJydW5vIEhhaWJsZS4KK2RubCBUZXN0IHdoZXRoZXIgPHdjaGFyLmg+IGhhcyB0aGUgJ3dp bnRfdCcgdHlwZSBhbmQgd2hldGhlciBnbnVsaWIncworZG5sIDx3Y2hhci5oPiBvciA8d2N0eXBl Lmg+IHdvdWxkLCBpZiBwcmVzZW50LCBvdmVycmlkZSAnd2ludF90Jy4KK2RubCBQcmVyZXF1aXNp dGU6IEFDX1BST0dfQ0MKKworQUNfREVGVU4oW2d0X1RZUEVfV0lOVF9UXSwKK1sKKyAgQUNfQ0FD SEVfQ0hFQ0soW2ZvciB3aW50X3RdLCBbZ3RfY3ZfY193aW50X3RdLAorICAgIFtBQ19DT01QSUxF X0lGRUxTRSgKKyAgICAgICBbQUNfTEFOR19QUk9HUkFNKAorICAgICAgICAgIFtbI2luY2x1ZGUg PHdjaGFyLmg+CisgICAgICAgICAgICB3aW50X3QgZm9vID0gKHdjaGFyX3QpJ1wwJztdXSwKKyAg ICAgICAgICBbW11dKV0sCisgICAgICAgW2d0X2N2X2Nfd2ludF90PXllc10sCisgICAgICAgW2d0 X2N2X2Nfd2ludF90PW5vXSldKQorICBpZiB0ZXN0ICRndF9jdl9jX3dpbnRfdCA9IHllczsgdGhl bgorICAgIEFDX0RFRklORShbSEFWRV9XSU5UX1RdLCBbMV0sIFtEZWZpbmUgaWYgeW91IGhhdmUg dGhlICd3aW50X3QnIHR5cGUuXSkKKworICAgIGRubCBEZXRlcm1pbmUgd2hldGhlciBnbnVsaWIn cyA8d2NoYXIuaD4gb3IgPHdjdHlwZS5oPiB3b3VsZCwgaWYgcHJlc2VudCwKKyAgICBkbmwgb3Zl cnJpZGUgJ3dpbnRfdCcuCisgICAgQUNfQ0FDSEVfQ0hFQ0soW3doZXRoZXIgd2ludF90IGlzIGxh cmdlIGVub3VnaF0sCisgICAgICBbZ2xfY3ZfdHlwZV93aW50X3RfbGFyZ2VfZW5vdWdoXSwKKyAg ICAgIFtBQ19DT01QSUxFX0lGRUxTRSgKKyAgICAgICAgIFtBQ19MQU5HX1BST0dSQU0oCisgICAg ICAgICAgICBbWyNpbmNsdWRlIDx3Y2hhci5oPgorICAgICAgICAgICAgICBpbnQgdmVyaWZ5W3Np emVvZiAod2ludF90KSA8IHNpemVvZiAoaW50KSA/IC0xIDogMV07CisgICAgICAgICAgICBdXSld LAorICAgICAgICAgW2dsX2N2X3R5cGVfd2ludF90X2xhcmdlX2Vub3VnaD15ZXNdLAorICAgICAg ICAgW2dsX2N2X3R5cGVfd2ludF90X2xhcmdlX2Vub3VnaD1ub10pXSkKKyAgICBpZiB0ZXN0ICRn bF9jdl90eXBlX3dpbnRfdF9sYXJnZV9lbm91Z2ggPSBubzsgdGhlbgorICAgICAgR05VTElCX09W RVJSSURFU19XSU5UX1Q9MQorICAgIGVsc2UKKyAgICAgIEdOVUxJQl9PVkVSUklERVNfV0lOVF9U PTAKKyAgICBmaQorICBlbHNlCisgICAgR05VTElCX09WRVJSSURFU19XSU5UX1Q9MAorICBmaQor ICBBQ19TVUJTVChbR05VTElCX09WRVJSSURFU19XSU5UX1RdKQorXSkKKworZG5sIFByZXJlcXVp c2l0ZXMgb2YgdGhlICd3aW50X3QnIG92ZXJyaWRlLgorQUNfREVGVU4oW2dsX1RZUEVfV0lOVF9U X1BSRVJFUV0sCitbCisgIEFDX0NIRUNLX0hFQURFUlNfT05DRShbY3J0ZGVmcy5oXSkKKyAgaWYg dGVzdCAkYWNfY3ZfaGVhZGVyX2NydGRlZnNfaCA9IHllczsgdGhlbgorICAgIEhBVkVfQ1JUREVG U19IPTEKKyAgZWxzZQorICAgIEhBVkVfQ1JUREVGU19IPTAKKyAgZmkKKyAgQUNfU1VCU1QoW0hB VkVfQ1JUREVGU19IXSkKK10pCmRpZmYgLS1naXQgYS9zcmMvcGR1bXBlci5jIGIvc3JjL3BkdW1w ZXIuYwppbmRleCAzMzc3NDJmZGE0YWRlLi44OTM5MDU3MjE3ZWY4IDEwMDY0NAotLS0gYS9zcmMv cGR1bXBlci5jCisrKyBiL3NyYy9wZHVtcGVyLmMKQEAgLTU0NjcsOCArNTQ2Nyw2IEBAIERFRlVO ICgicGR1bXBlci1zdGF0cyIsIEZwZHVtcGVyX3N0YXRzLCBTcGR1bXBlcl9zdGF0cywgMCwgMCwg MCwKIAkJRmNvbnMgKFFkdW1wX2ZpbGVfbmFtZSwgZHVtcF9mbikpOwogfQogCi0jZW5kaWYgLyog SEFWRV9QRFVNUEVSICovCi0KIAwKIHN0YXRpYyB2b2lkCiB0aGF3X2hhc2hfdGFibGVzICh2b2lk KQpAQCAtNTQ3OCwxMCArNTQ3NiwxNCBAQCB0aGF3X2hhc2hfdGFibGVzICh2b2lkKQogICAgIGhh c2hfdGFibGVfdGhhdyAoQVJFRiAoaGFzaF90YWJsZXMsIGkpKTsKIH0KIAorI2VuZGlmIC8qIEhB VkVfUERVTVBFUiAqLworCiB2b2lkCiBpbml0X3BkdW1wZXJfb25jZSAodm9pZCkKIHsKKyNpZmRl ZiBIQVZFX1BEVU1QRVIKICAgcGR1bXBlcl9kb19ub3dfYW5kX2FmdGVyX2xvYWQgKHRoYXdfaGFz aF90YWJsZXMpOworI2VuZGlmIC8qIEhBVkVfUERVTVBFUiAqLwogfQogCiB2b2lkCi0tIAoyLjMw LjEKCg== --000000000000168bbe05bce2eade--