From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.bugs Subject: bug#25895: Remove update-game-score Date: Thu, 9 Mar 2017 00:50:05 -0800 Organization: UCLA Computer Science Department Message-ID: References: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------506A1769884E7324D079DB53" X-Trace: blaine.gmane.org 1489049519 19698 195.159.176.226 (9 Mar 2017 08:51:59 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 9 Mar 2017 08:51:59 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 Cc: Ulrich =?UTF-8?Q?M=C3=BCller?= , 25895@debbugs.gnu.org To: Glenn Morris Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Mar 09 09:51:51 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cltnT-0003YW-76 for geb-bug-gnu-emacs@m.gmane.org; Thu, 09 Mar 2017 09:51:43 +0100 Original-Received: from localhost ([::1]:32820 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cltnZ-0002wM-1T for geb-bug-gnu-emacs@m.gmane.org; Thu, 09 Mar 2017 03:51:49 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48379) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cltmt-0002eB-E3 for bug-gnu-emacs@gnu.org; Thu, 09 Mar 2017 03:51:12 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cltmo-000547-Tt for bug-gnu-emacs@gnu.org; Thu, 09 Mar 2017 03:51:07 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:48927) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cltmo-00053Q-JL for bug-gnu-emacs@gnu.org; Thu, 09 Mar 2017 03:51:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cltmo-0006G3-CO for bug-gnu-emacs@gnu.org; Thu, 09 Mar 2017 03:51:02 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: Resent-From: Paul Eggert Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 09 Mar 2017 08:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 25895 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 25895-submit@debbugs.gnu.org id=B25895.148904942624009 (code B ref 25895); Thu, 09 Mar 2017 08:51:02 +0000 Original-Received: (at 25895) by debbugs.gnu.org; 9 Mar 2017 08:50:26 +0000 Original-Received: from localhost ([127.0.0.1]:47126 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cltmC-0006F4-Lp for submit@debbugs.gnu.org; Thu, 09 Mar 2017 03:50:25 -0500 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:49486) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cltm9-0006Eq-8P for 25895@debbugs.gnu.org; Thu, 09 Mar 2017 03:50:23 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 1B36816005C; Thu, 9 Mar 2017 00:50:15 -0800 (PST) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id futqrRebGa8G; Thu, 9 Mar 2017 00:50:11 -0800 (PST) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 09870160069; Thu, 9 Mar 2017 00:50:11 -0800 (PST) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id JiTtolRYinFD; Thu, 9 Mar 2017 00:50:10 -0800 (PST) Original-Received: from [192.168.1.9] (unknown [47.153.188.248]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id D3A9916005C; Thu, 9 Mar 2017 00:50:10 -0800 (PST) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 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.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:130367 Archived-At: This is a multi-part message in MIME format. --------------506A1769884E7324D079DB53 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Thanks, good suggestion. Proposed patch attached. I'll CC: this to Ulrich= M=C3=BCller=20 to see whether he has thoughts on this that are relevant to Gentoo, since= he=20 sent in a Gentoo-related bug report about setgid a couple of years ago. U= lrich,=20 the new bug report is here: https://bugs.gnu.org/25895 --------------506A1769884E7324D079DB53 Content-Type: text/x-diff; name="0001-Remove-update-game-score.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Remove-update-game-score.patch" RnJvbSA2NjZiNGQzOGEwMDdiNWJiMDA2N2NhOWJiN2NjMzc5NDIzYjBhNGY5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUaHUsIDkgTWFyIDIwMTcgMDA6NDA6MDEgLTA4MDAKU3ViamVjdDogW1BBVENI XSBSZW1vdmUgdXBkYXRlLWdhbWUtc2NvcmUKClRoaXMgcHJvZ3JhbSBpcyB2ZXJ5IGxpdHRs ZSB1c2VkLCBhbmQgbW9zdCBkaXN0cmlidXRpb25zCmRvIG5vdCB1c2UgaXQgcHJvcGVybHkg ZHVlIHRvIHNldHVpZC9zZXRnaWQgY29tcGxpY2F0aW9ucy4KSXQgaXMgbm90IHdvcnRoIHRo ZSBtYWludGVuYW5jZSBhbmQgc2VjdXJpdHkgaGFzc2xlIChCdWcjMjU4OTUpLgoqIC5naXRh dHRyaWJ1dGVzOiBSZW1vdmUgbGliLXNyYy91cGRhdGUtZ2FtZS1zY29yZS5leGUubWFuaWZl c3QuCiogLmdpdGlnbm9yZTogUmVtb3ZlIGxpYi1zcmMvdXBkYXRlLWdhbWUtc2NvcmUuCiog TWFrZWZpbGUuaW4gKGdhbWVkaXIpOiBSZW1vdmUuCihlcGF0aHMtZm9yY2UpOiBEbyBub3Qg dXBkYXRlIFBBVEhfR0FNRS4KKHVuaW5zdGFsbCk6IERvIG5vdCByZW1vdmUgc25ha2Utc2Nv cmVzIGFuZCB0ZXRyaXMtc2NvcmVzLgoqIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIC0td2l0aC1n YW1ldXNlciBvcHRpb24uCihnYW1lZGlyLCBnYW1ldXNlciwgZ2FtZWdyb3VwLCBVUERBVEVf TUFOSUZFU1QpOiBSZW1vdmUuCkFsbCB1c2VzIHJlbW92ZWQuCiogbGliLXNyYy9NYWtlZmls ZS5pbiAoVVBEQVRFX01BTklGRVNULCBnYW1lZGlyLCBnYW1ldXNlcikKKGdhbWVncm91cCk6 IFJlbW92ZS4KKFVUSUxJVElFUyk6IFJlbW92ZSB1cGRhdGUtZ2FtZS1zY29yZS4KKFNDUklQ VFMpOiBSZW1vdmUgVVBEQVRFX01BTklGRVNUPgooJChERVNURElSKSR7YXJjaGxpYmRpcn0p OiBEbyBub3QgaW5zdGFsbCBnYW1lZGlyIHByb2dyYW1zIGFuZCBkYXRhLgoodXBkYXRlLWdh bWUtc2NvcmUke0VYRUVYVH0pOiBSZW1vdmUuCiogbGliLXNyYy91cGRhdGUtZ2FtZS1zY29y ZS5jLCBsaWItc3JjL3VwZGF0ZS1nYW1lLXNjb3JlLmV4ZS5tYW5pZmVzdDoKUmVtb3ZlLgoq IGxpc3AvcGxheS9nYW1lZ3JpZC5lbCAoZ2FtZWdyaWQtc2hhcmVkLWdhbWUtZGlyKQooZ2Ft ZWdyaWQtYWRkLXNjb3JlLXdpdGgtdXBkYXRlLWdhbWUtc2NvcmUtMSk6CiogbGlzcC9zdWJy LmVsIChzaGFyZWQtZ2FtZS1zY29yZS1kaXJlY3RvcnkpOgpNYWtlIG9ic29sZXRlLgoqIGxp c3AvcGxheS9nYW1lZ3JpZC5lbCAoZ2FtZWdyaWQtYWRkLXNjb3JlLXdpdGgtdXBkYXRlLWdh bWUtc2NvcmUpOgpSZW1vdmUgdXNlIG9mIGF1eGlsaWFyeSBwcm9ncmFtLgoqIG1ha2UtZGlz dDogRG8gbm90IGRpc3RyaWJ1dGUgdXBkYXRlLWdhbWUtc2NvcmUuZXhlLm1hbmlmZXN0Lgoq IHNyYy9jYWxscHJvYy5jIChpbml0X2NhbGxwcm9jKToKTm8gbmVlZCB0byBzZXQgVnNoYXJl ZF9nYW1lX3Njb3JlX2RpcmVjdG9yeS4KKHN5bXNfb2ZfY2FsbHByb2MpIFshRE9TX05UXToK SnVzdCBzZXQgVnNoYXJlZF9nYW1lX3Njb3JlX2RpcmVjdG9yeSB0byBuaWwuCiogc3JjL2Vw YXRocy5pbiAoUEFUSF9HQU1FKTogUmVtb3ZlLgotLS0KIC5naXRhdHRyaWJ1dGVzICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAxIC0KIC5naXRpZ25vcmUgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAxIC0KIE1ha2VmaWxlLmluICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDExICstCiBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAyNSArLQogbGliLXNyYy9NYWtlZmlsZS5pbiAgICAgICAgICAgICAgICAgICAgfCAg NDAgKy0tCiBsaWItc3JjL3VwZGF0ZS1nYW1lLXNjb3JlLmMgICAgICAgICAgICB8IDUwNyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGxpYi1zcmMvdXBkYXRlLWdhbWUt c2NvcmUuZXhlLm1hbmlmZXN0IHwgIDEwIC0KIGxpc3AvcGxheS9nYW1lZ3JpZC5lbCAgICAg ICAgICAgICAgICAgIHwgMTI0ICsrLS0tLS0tCiBsaXNwL3N1YnIuZWwgICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICAgMSArCiBtYWtlLWRpc3QgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgMSAtCiBzcmMvY2FsbHByb2MuYyAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAxMiAtCiBzcmMvZXBhdGhzLmluICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAg NCAtCiAxMiBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCA3MTMgZGVsZXRpb25z KC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgbGliLXNyYy91cGRhdGUtZ2FtZS1zY29yZS5jCiBk ZWxldGUgbW9kZSAxMDA2NDQgbGliLXNyYy91cGRhdGUtZ2FtZS1zY29yZS5leGUubWFuaWZl c3QKCmRpZmYgLS1naXQgYS8uZ2l0YXR0cmlidXRlcyBiLy5naXRhdHRyaWJ1dGVzCmluZGV4 IDIyY2VhM2QuLjU5Y2MyZWQgMTAwNjQ0Ci0tLSBhLy5naXRhdHRyaWJ1dGVzCisrKyBiLy5n aXRhdHRyaWJ1dGVzCkBAIC0yNCw3ICsyNCw2IEBAIGFkbWluL2NoYXJzZXRzL21hcGZpbGVz L1BUQ1AxNTQgd2hpdGVzcGFjZT1jci1hdC1lb2wKIGxlaW0vTUlTQy1ESUMvY2FuZ2ppZS10 YWJsZS5iNSB3aGl0ZXNwYWNlPWNyLWF0LWVvbAogbGVpbS9NSVNDLURJQy9jYW5namllLXRh YmxlLmNucyB3aGl0ZXNwYWNlPWNyLWF0LWVvbAogbGVpbS9NSVNDLURJQy9waW55aW4ubWFw IHdoaXRlc3BhY2U9Y3ItYXQtZW9sCi1saWItc3JjL3VwZGF0ZS1nYW1lLXNjb3JlLmV4ZS5t YW5pZmVzdCB3aGl0ZXNwYWNlPWNyLWF0LWVvbAogbnQvbm1ha2UuZGVmcyB3aGl0ZXNwYWNl PWNyLWF0LWVvbAogdGVzdC9ldGFncy9jLXNyYy9kb3N0b3J0dXJlLmMgd2hpdGVzcGFjZT1j ci1hdC1lb2wKIHRlc3QvZXRhZ3MvY3Atc3JjL2MuQyB3aGl0ZXNwYWNlPWNyLWF0LWVvbApk aWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXggZThlYjRmZC4uYjU0 ZmViMiAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC0xODYs NyArMTg2LDYgQEAgbGliLXNyYy9tYWtlLWRvY2ZpbGUKIGxpYi1zcmMvbW92ZW1haWwKIGxp Yi1zcmMvcHJvZmlsZQogbGliLXNyYy90ZXN0LWRpc3RyaWIKLWxpYi1zcmMvdXBkYXRlLWdh bWUtc2NvcmUKIG5leHRzdGVwL0NvY29hL0VtYWNzLmJhc2UvQ29udGVudHMvSW5mby5wbGlz dAogbmV4dHN0ZXAvQ29jb2EvRW1hY3MuYmFzZS9Db250ZW50cy9SZXNvdXJjZXMvRW5nbGlz aC5scHJvagogbmV4dHN0ZXAvRW1hY3MuYXBwLwpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUuaW4g Yi9NYWtlZmlsZS5pbgppbmRleCA4MmZiOTFmLi5lMGYxZmYwIDEwMDY0NAotLS0gYS9NYWtl ZmlsZS5pbgorKysgYi9NYWtlZmlsZS5pbgpAQCAtMjY2LDkgKzI2Niw2IEBAIGFyY2hsaWJk aXI9CiAjIFdoZXJlIHRvIHB1dCB0aGUgZXRjL0RPQyBmaWxlLgogZXRjZG9jZGlyPUBldGNk b2NkaXJACiAKLSMgV2hlcmUgdG8gaW5zdGFsbCBFbWFjcyBnYW1lIHNjb3JlIGZpbGVzLgot Z2FtZWRpcj1AZ2FtZWRpckAKLQogIyA9PT09PT09PT09PT09PT09PT09PSBVdGlsaXR5IFBy b2dyYW1zIGZvciB0aGUgQnVpbGQgPT09PT09PT09PT09PT09PT09PT0KIAogIyBBbGxvdyB0 aGUgdXNlciB0byBzcGVjaWZ5IHRoZSBpbnN0YWxsIHByb2dyYW0uCkBAIC0zNDcsOCArMzQ0 LDcgQEAgZXBhdGhzLWZvcmNlOgogCSAgICAgIGV4aXQgMTs7IFwKIAkgIGVzYWM7IFwKIAlk b25lCi0JQChnYW1lZGlyPScke2dhbWVkaXJ9JzsgXAotCSAgc2VkIDwgJHtzcmNkaXJ9L3Ny Yy9lcGF0aHMuaW4gPiBlcGF0aHMuaC4kJCQkCQlcCisJQChzZWQgPCAke3NyY2Rpcn0vc3Jj L2VwYXRocy5pbiA+IGVwYXRocy5oLiQkJCQJCVwKIAkgIC1lICdzO1woIy4qUEFUSF9MT0FE U0VBUkNIXCkuKiQkO1wxICIke3N0YW5kYXJkbGlzcHBhdGh9IjsnIFwKIAkgIC1lICdzO1wo Iy4qUEFUSF9TSVRFTE9BRFNFQVJDSFwpLiokJDtcMSAiJHtsb2NhbGxpc3BwYXRofSI7JyBc CiAJICAtZSAncztcKCMuKlBBVEhfRFVNUExPQURTRUFSQ0hcKS4qJCQ7XDEgIiR7YnVpbGRs aXNwcGF0aH0iOycgXApAQCAtMzU5LDcgKzM1NSw2IEBAIGVwYXRocy1mb3JjZToKIAkgIC1l ICdzO1woIy4qUEFUSF9EQVRBXCkuKiQkO1wxICIke2V0Y2Rpcn0iOycJCQlcCiAJICAtZSAn cztcKCMuKlBBVEhfQklUTUFQU1wpLiokJDtcMSAiJHtiaXRtYXBkaXJ9IjsnCQlcCiAJICAt ZSAncztcKCMuKlBBVEhfWF9ERUZBVUxUU1wpLiokJDtcMSAiJHt4X2RlZmF1bHRfc2VhcmNo X3BhdGh9IjsnIFwKLQkgIC1lICdzO1woIy4qUEFUSF9HQU1FXCkuKiQkO1wxICIke2dhbWVk aXJ9IjsnIFwKIAkgIC1lICdzO1woIy4qUEFUSF9ET0NcKS4qJCQ7XDEgIiR7ZXRjZG9jZGly fSI7JykgJiYJCVwKIAkke3NyY2Rpcn0vYnVpbGQtYXV4L21vdmUtaWYtY2hhbmdlIGVwYXRo cy5oLiQkJCQgc3JjL2VwYXRocy5oCiAKQEAgLTgxMSwxMCArODA2LDYgQEAgdW5pbnN0YWxs OgogCS1ybSAtZiAiJChERVNURElSKSR7ZGVza3RvcGRpcn0vJHtFTUFDU19OQU1FfS5kZXNr dG9wIgogCS1ybSAtZiAiJChERVNURElSKSR7YXBwZGF0YWRpcn0vJHtFTUFDU19OQU1FfS5h cHBkYXRhLnhtbCIKIAktcm0gLWYgIiQoREVTVERJUikkKHN5c3RlbWR1bml0ZGlyKS8ke0VN QUNTX05BTUV9LnNlcnZpY2UiCi0JZm9yIGZpbGUgaW4gc25ha2Utc2NvcmVzIHRldHJpcy1z Y29yZXM7IGRvIFwKLQkgIGZpbGU9IiQoREVTVERJUikke2dhbWVkaXJ9LyQke2ZpbGV9Ijsg XAotCSAgWyAtcyAiJCR7ZmlsZX0iIF0gfHwgcm0gLWYgIiQkZmlsZSI7IFwKLQlkb25lCiAK ICMjIyBXaW5kb3dzLXNwZWNpZmljIHVuaW5zdGFsbCB0YXJnZXQgZm9yIHJlbW92aW5nIHBy b2dyYW1zIHByb2R1Y2VkCiAjIyMgaW4gbnQvLCBhbmQgaXRzIFBvc2l4IGRvLW5vdGhpbmcg c2hhZG93LgpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4 IGJhOTQ0ZTZjLi45YTBjM2M5IDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29u ZmlndXJlLmFjCkBAIC0yMDMsNyArMjAzLDYgQEAgQUNfREVGVU4KIGV0Y2Rpcj0nJHtkYXRh ZGlyfS9lbWFjcy8ke3ZlcnNpb259L2V0YycKIGFyY2hsaWJkaXI9JyR7bGliZXhlY2Rpcn0v ZW1hY3MvJHt2ZXJzaW9ufS8ke2NvbmZpZ3VyYXRpb259JwogZXRjZG9jZGlyPScke2RhdGFk aXJ9L2VtYWNzLyR7dmVyc2lvbn0vZXRjJwotZ2FtZWRpcj0nJHtsb2NhbHN0YXRlZGlyfS9n YW1lcy9lbWFjcycKIAogZG5sIFNwZWNpYWwgb3B0aW9uIHRvIGRpc2FibGUgdGhlIG1vc3Qg b2Ygb3RoZXIgb3B0aW9ucy4KIEFDX0FSR19XSVRIKGFsbCwKQEAgLTM5NiwyMiArMzk1LDYg QEAgQUNfREVGVU4KICAgW2Rvbid0IGNvbXByZXNzIHNvbWUgZmlsZXMgKC5lbCwgLmluZm8s IGV0Yy4pIHdoZW4gaW5zdGFsbGluZy4gIEVxdWl2YWxlbnQgdG86CiBtYWtlIEdaSVBfUFJP Rz0gaW5zdGFsbF0pCiAKLUFDX0FSR19XSVRIKGdhbWV1c2VyLGRubAotW0FTX0hFTFBfU1RS SU5HKFstLXdpdGgtZ2FtZXVzZXI9VVNFUl9PUl9HUk9VUF0sCi0JCVt1c2VyIGZvciBzaGFy ZWQgZ2FtZSBzY29yZSBmaWxlcy4KLQkJQW4gYXJndW1lbnQgcHJlZml4ZWQgYnkgJzonIHNw ZWNpZmllcyBhIGdyb3VwIGluc3RlYWQuXSldKQotZ2FtZXVzZXI9Ci1nYW1lZ3JvdXA9Ci0j IFdlIGRvbid0IHRlc3QgaWYgd2UgY2FuIGFjdHVhbGx5IGNob3duL2NoZ3JwIGhlcmUsIGJl Y2F1c2UgY29uZmlndXJlCi0jIG1heSBydW4gd2l0aG91dCByb290IHByaXZpbGVnZXMuICBs aWItc3JjL01ha2VmaWxlLmluIHdpbGwgaGFuZGxlCi0jIGFueSBlcnJvcnMgZHVlIHRvIG1p c3NpbmcgdXNlci9ncm91cCBncmFjZWZ1bGx5LgotY2FzZSAke3dpdGhfZ2FtZXVzZXJ9IGlu Ci0gIG5vKSA7OwotICAiIiB8IHllcykgZ2FtZWdyb3VwPWdhbWVzIDs7Ci0gIDoqKSBnYW1l Z3JvdXA9JHt3aXRoX2dhbWV1c2VyIzp9IDs7Ci0gICopIGdhbWV1c2VyPSR7d2l0aF9nYW1l dXNlcn0gOzsKLWVzYWMKLQogQUNfQVJHX1dJVEgoW2dudXN0ZXAtY29uZl0sZG5sCiBbQVNf SEVMUF9TVFJJTkcoWy0td2l0aC1nbnVzdGVwLWNvbmY9RklMRU5BTUVdLAogICAgW25hbWUg b2YgR05Vc3RlcCBjb25maWd1cmF0aW9uIGZpbGUgdG8gdXNlIG9uIHN5c3RlbXMgd2hlcmUg dGhlIGNvbW1hbmQKQEAgLTE5NjYsNyArMTk0OSw2IEBAIEFDX0RFRlVOCiBDTElFTlRXPQog VzMyX1JFU19MSU5LPQogRU1BQ1NfTUFOSUZFU1Q9Ci1VUERBVEVfTUFOSUZFU1Q9CiBpZiB0 ZXN0ICIke3dpdGhfdzMyfSIgIT0gbm87IHRoZW4KICAgY2FzZSAiJHtvcHN5c30iIGluCiAg ICAgY3lnd2luKQpAQCAtMjAzNCw3ICsyMDE2LDYgQEAgQUNfREVGVU4KICAgICAjIHRoZSBy YyBmaWxlKSwgbm90IGEgbGlua2VyIHNjcmlwdC4KICAgICBXMzJfUkVTX0xJTks9Ii1XbCxl bWFjcy5yZXMiCiAgIGVsc2UKLSAgICBVUERBVEVfTUFOSUZFU1Q9dXBkYXRlLWdhbWUtc2Nv cmUuZXhlLm1hbmlmZXN0CiAgICAgVzMyX09CSj0iJFczMl9PQkogdzMyLm8gdzMyY29uc29s ZS5vIHczMmhlYXAubyB3MzJpbmV2dC5vIHczMnByb2MubyIKICAgICBXMzJfTElCUz0iJFcz Ml9MSUJTIC1sd2lubW0gLWxnZGkzMiAtbGNvbWRsZzMyIgogICAgIFczMl9MSUJTPSIkVzMy X0xJQlMgLWxtcHIgLWx3aW5zcG9vbCAtbG9sZTMyIC1sY29tY3RsMzIgLWx1c3AxMCIKQEAg LTIwNTQsNyArMjAzNSw2IEBAIEFDX0RFRlVOCiBBQ19TVUJTVChXMzJfTElCUykKIEFDX1NV QlNUKEVNQUNTUkVTKQogQUNfU1VCU1QoRU1BQ1NfTUFOSUZFU1QpCi1BQ19TVUJTVChVUERB VEVfTUFOSUZFU1QpCiBBQ19TVUJTVChDTElFTlRSRVMpCiBBQ19TVUJTVChDTElFTlRXKQog QUNfU1VCU1QoVzMyX1JFU19MSU5LKQpAQCAtNDg5Miw5ICs0ODcyLDYgQEAgQUNfREVGVU4K IEFDX1NVQlNUKGFyY2hsaWJkaXIpCiBBQ19TVUJTVChldGNkb2NkaXIpCiBBQ19TVUJTVChi aXRtYXBkaXIpCi1BQ19TVUJTVChnYW1lZGlyKQotQUNfU1VCU1QoZ2FtZXVzZXIpCi1BQ19T VUJTVChnYW1lZ3JvdXApCiAjIyBGSVhNRT8gTm90aGluZyB1c2VzIEBMRF9TV0lUQ0hfWF9T SVRFQC4KICMjIHNyYy9NYWtlZmlsZS5pbiBkaWQgYWRkIExEX1NXSVRDSF9YX1NJVEUgKGFz IGEgY3BwIGRlZmluZSkgdG8gdGhlCiAjIyBlbmQgb2YgTElCWF9CQVNFLCBidXQgbm90aGlu ZyBldmVyIHNldCBpdC4KQEAgLTU0MzIsNyArNTQwOSw3IEBAIEFDX0RFRlVOCiBkbmwgWW91 IG1pZ2h0IHdvbmRlciAoSSBkaWQpIHdoeSBlcGF0aHMuaCBpcyBnZW5lcmF0ZWQgYnkgcnVu bmluZyBtYWtlLAogZG5sIHJhdGhlciB0aGFuIGp1c3QgbGV0dGluZyBjb25maWd1cmUgZ2Vu ZXJhdGUgaXQgZnJvbSBlcGF0aHMuaW4uCiBkbmwgT25lIHJlYXNvbiBpcyB0aGF0IHRoZSB2 YXJpb3VzIHBhdGhzIGFyZSBub3QgZnVsbHkgZXhwYW5kZWQgKHNlZSBhYm92ZSk7Ci1kbmwg ZWcgZ2FtZWRpcj0ke3ByZWZpeH0vdmFyL2dhbWVzL2VtYWNzLgorZG5sIGUuZy4sIGV0Y2Rv Y2Rpcj0nJHtkYXRhZGlyfS9lbWFjcy8ke3ZlcnNpb259L2V0YycuCiBkbmwgU2Vjb25kbHks IHRoZSBHTlUgQ29kaW5nIHN0YW5kYXJkcyByZXF1aXJlIHRoYXQgb25lIHNob3VsZCBiZSBh YmxlCiBkbmwgdG8gcnVuICdtYWtlIHByZWZpeD0vc29tZS93aGVyZS9lbHNlJyBhbmQgb3Zl cnJpZGUgdGhlIHZhbHVlcyBzZXQKIGRubCBieSBjb25maWd1cmUuICBUaGlzIGFsc28gZXhw bGFpbnMgdGhlICdtb3ZlLWlmLWNoYW5nZScgdGVzdCBhbmQKZGlmZiAtLWdpdCBhL2xpYi1z cmMvTWFrZWZpbGUuaW4gYi9saWItc3JjL01ha2VmaWxlLmluCmluZGV4IDg4ZjYyODAuLmQz MWU4N2EgMTAwNjQ0Ci0tLSBhL2xpYi1zcmMvTWFrZWZpbGUuaW4KKysrIGIvbGliLXNyYy9N YWtlZmlsZS5pbgpAQCAtNDAsNyArNDAsNiBAQCBDX1NXSVRDSF9NQUNISU5FPQogUFJPRklM SU5HX0NGTEFHUyA9IEBQUk9GSUxJTkdfQ0ZMQUdTQAogV0FSTl9DRkxBR1MgPSBAV0FSTl9D RkxBR1NACiBXRVJST1JfQ0ZMQUdTID0gQFdFUlJPUl9DRkxBR1NACi1VUERBVEVfTUFOSUZF U1QgPSBAVVBEQVRFX01BTklGRVNUQAogCiAjIFByb2dyYW0gbmFtZSB0cmFuc2Zvcm1hdGlv bi4KIFRSQU5TRk9STSA9IEBwcm9ncmFtX3RyYW5zZm9ybV9uYW1lQApAQCAtMTMwLDEwICsx MjksNiBAQCBhYnNfdG9wX3NyY2Rpcj0KICMgdG8gJy4uL2NvbmZpZ3VyZScuCiBhcmNobGli ZGlyPUBhcmNobGliZGlyQAogCi1nYW1lZGlyPUBnYW1lZGlyQAotZ2FtZXVzZXI9QGdhbWV1 c2VyQAotZ2FtZWdyb3VwPUBnYW1lZ3JvdXBACi0KICMgPT09PT09PT09PT09PT09PT09PT0g VXRpbGl0eSBQcm9ncmFtcyBmb3IgdGhlIEJ1aWxkID09PT09PT09PT09PT09PT09CiAKICMg Li4vY29uZmlndXJlIGZpZ3VyZXMgb3V0IHRoZSBjb3JyZWN0IHZhbHVlcyBmb3IgdGhlc2Uu CkBAIC0xNTUsMTQgKzE1MCwxMyBAQCBJTlNUQUxMQUJMRVMgPQogCiAjIFRoaW5ncyB0aGF0 IEVtYWNzIHJ1bnMgaW50ZXJuYWxseSwgb3IgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLAog IyAgd2hpY2ggc2hvdWxkIG5vdCBiZSBpbnN0YWxsZWQgaW4gYmluZGlyLgotVVRJTElUSUVT ID0gcHJvZmlsZSR7RVhFRVhUfSBtb3ZlbWFpbCR7RVhFRVhUfSBoZXhsJHtFWEVFWFR9IFwK LSAgICAgICAgICAgIHVwZGF0ZS1nYW1lLXNjb3JlJHtFWEVFWFR9CitVVElMSVRJRVMgPSBw cm9maWxlJHtFWEVFWFR9IG1vdmVtYWlsJHtFWEVFWFR9IGhleGwke0VYRUVYVH0KIAogRE9O VF9JTlNUQUxMPSBtYWtlLWRvY2ZpbGUke0VYRUVYVH0KIAogIyBMaWtlIFVUSUxJVElFUywg YnV0IHRoZXkncmUgbm90IHN5c3RlbS1kZXBlbmRlbnQsIGFuZCBzaG91bGQgbm90IGJlCiAj ICBkZWxldGVkIGJ5IHRoZSBkaXN0Y2xlYW4gdGFyZ2V0LgotU0NSSVBUUz0gcmNzMmxvZyAk KFVQREFURV9NQU5JRkVTVCkKK1NDUklQVFM9IHJjczJsb2cKIAogIyBBbGwgZmlsZXMgdGhh dCBhcmUgY3JlYXRlZCBieSB0aGUgbGlua2VyLCBpLmUuLCB3aG9zZSBuYW1lcyBlbmQgaW4g JHtFWEVFWFR9LgogRVhFX0ZJTEVTID0gJHtJTlNUQUxMQUJMRVN9ICR7VVRJTElUSUVTfSAk e0RPTlRfSU5TVEFMTH0KQEAgLTI1OCw5ICsyNTIsNiBAQCBtYXliZS1ibGVzc21haWw6CiAK ICMjIEluc3RhbGwgdGhlIGludGVybmFsIHV0aWxpdGllcy4gIFVudGlsIHRoZXkgYXJlIGlu c3RhbGxlZCwgd2UgY2FuCiAjIyBqdXN0IHJ1biB0aGVtIGRpcmVjdGx5IGZyb20gbGliLXNy Yy4KLSMjIElmIHRoZSBjaG93bi9jaG1vZCBjb21tYW5kcyBmYWlsLCB0aGF0IGlzIG5vdCBh IGJpZyBkZWFsLgotIyMgdXBkYXRlLWdhbWUtc2NvcmUgd2lsbCBkZXRlY3QgYXQgcnVudGlt ZSB0aGF0IGl0IGlzIG5vdCBzZXR1aWQsCi0jIyBhbmQgaGFuZGxlIHRoaW5ncyBhY2NvcmRp bmdseS4KICQoREVTVERJUikke2FyY2hsaWJkaXJ9OiBhbGwKIAlAZWNobwogCUBlY2hvICJJ bnN0YWxsaW5nIHV0aWxpdGllcyBydW4gaW50ZXJuYWxseSBieSBFbWFjcy4iCkBAIC0yNzIs MjggKzI2Myw2IEBAICQoREVTVERJUikke2FyY2hsaWJkaXJ9OgogCSAgICAgICIkKERFU1RE SVIpJHthcmNobGliZGlyfS8kJGZpbGUiIHx8IGV4aXQ7IFwKIAkgIGRvbmUgOyBcCiAgICAg ICAgIGZpCi0JdW1hc2sgMDIyICYmICR7TUtESVJfUH0gIiQoREVTVERJUikke2dhbWVkaXJ9 IiAmJiBcCi0JdG91Y2ggIiQoREVTVERJUikke2dhbWVkaXJ9L3NuYWtlLXNjb3JlcyIgXAot CSAgICAgICIkKERFU1RESVIpJHtnYW1lZGlyfS90ZXRyaXMtc2NvcmVzIgotaWZuZXEgKCQo Z2FtZXVzZXIpLCkKLQlpZiBjaG93biAke2dhbWV1c2VyfSBcCi0JICAgICAiJChERVNURElS KSR7YXJjaGxpYmRpcn0vdXBkYXRlLWdhbWUtc2NvcmUke0VYRUVYVH0iICYmIFwKLQkgICBj aG1vZCB1K3MsZ28tciBcCi0JICAgICAiJChERVNURElSKSR7YXJjaGxpYmRpcn0vdXBkYXRl LWdhbWUtc2NvcmUke0VYRUVYVH0iOyBcCi0JdGhlbiBcCi0JICBjaG93biAke2dhbWV1c2Vy fSAiJChERVNURElSKSR7Z2FtZWRpcn0iICYmIFwKLQkgIGNobW9kIHU9cnd4LGc9cngsbz1y eCAiJChERVNURElSKSR7Z2FtZWRpcn0iOyBcCi0JZmkKLWVsc2UgaWZuZXEgKCQoZ2FtZWdy b3VwKSwpCi0JaWYgY2hncnAgJHtnYW1lZ3JvdXB9IFwKLQkgICAgICIkKERFU1RESVIpJHth cmNobGliZGlyfS91cGRhdGUtZ2FtZS1zY29yZSR7RVhFRVhUfSIgJiYgXAotCSAgIGNobW9k IGcrcyxvLXIgXAotCSAgICAgIiQoREVTVERJUikke2FyY2hsaWJkaXJ9L3VwZGF0ZS1nYW1l LXNjb3JlJHtFWEVFWFR9IjsgXAotCXRoZW4gXAotCSAgY2hncnAgJHtnYW1lZ3JvdXB9ICIk KERFU1RESVIpJHtnYW1lZGlyfSIgJiYgXAotCSAgY2htb2QgdT1yd3gsZz1yd3gsbz1yeCAi JChERVNURElSKSR7Z2FtZWRpcn0iOyBcCi0JZmkKLWVuZGlmCiAJZXhwX2FyY2hsaWJkaXI9 YGNkICIkKERFU1RESVIpJHthcmNobGliZGlyfSIgJiYgL2Jpbi9wd2RgICYmIFwKIAlpZiBb ICIkJGV4cF9hcmNobGliZGlyIiAhPSAiYGNkICR7c3JjZGlyfSAmJiAvYmluL3B3ZGAiIF07 IHRoZW4gXAogCSAgZm9yIGZpbGUgaW4gJHtTQ1JJUFRTfTsgZG8gXApAQCAtNDE1LDExICsz ODQsNiBAQCBudGxpYi5vOgogaGV4bCR7RVhFRVhUfTogJHtzcmNkaXJ9L2hleGwuYyAkKE5U TElCKSAkKGNvbmZpZ19oKQogCSQoQU1fVl9DQ0xEKSQoQ0MpICR7QUxMX0NGTEFHU30gJDwg JChMT0FETElCRVMpIC1vICRACiAKLXVwZGF0ZS1nYW1lLXNjb3JlJHtFWEVFWFR9OiAke3Ny Y2Rpcn0vdXBkYXRlLWdhbWUtc2NvcmUuYyAkKE5UTElCKSAkKGNvbmZpZ19oKQotCSQoQU1f Vl9DQ0xEKSQoQ0MpICR7QUxMX0NGTEFHU30gXAotCSAgLURIQVZFX1NIQVJFRF9HQU1FX0RJ Uj0iXCIkKGdhbWVkaXIpXCIiIFwKLQkgICQ8ICQoTlRMSUIpICQoTE9BRExJQkVTKSAtbyAk QAotCiBlbWFjc2NsaWVudC5yZXM6IC4uL250L2VtYWNzY2xpZW50LnJjICQoTlRJTkMpLy4u L2ljb25zL2VtYWNzLmljbwogCSQoQU1fVl9SQykkKFdJTkRSRVMpIC1PIGNvZmYgLS1pbmNs dWRlLWRpcj0kKE5USU5DKS8uLiAtbyAkQCAkPAogCmRpZmYgLS1naXQgYS9saWItc3JjL3Vw ZGF0ZS1nYW1lLXNjb3JlLmMgYi9saWItc3JjL3VwZGF0ZS1nYW1lLXNjb3JlLmMKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlZGM4ZTcuLjAwMDAwMDAKLS0tIGEvbGliLXNy Yy91cGRhdGUtZ2FtZS1zY29yZS5jCisrKyAvZGV2L251bGwKQEAgLTEsNTA3ICswLDAgQEAK LS8qIHVwZGF0ZS1nYW1lLXNjb3JlLmMgLS0tIFVwZGF0ZSBhIHNjb3JlIGZpbGUKLQotQ29w eXJpZ2h0IChDKSAyMDAyLTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0K LUF1dGhvcjogQ29saW4gV2FsdGVycyA8d2FsdGVyc0BkZWJpYW4ub3JnPgotCi1UaGlzIGZp bGUgaXMgcGFydCBvZiBHTlUgRW1hY3MuCi0KLUdOVSBFbWFjcyBpcyBmcmVlIHNvZnR3YXJl OiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci1pdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQotdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3IgKGF0Ci15b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0K LUdOVSBFbWFjcyBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAotYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKLU1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLUdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCi0KLVlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi1hbG9uZyB3aXRoIEdOVSBFbWFj cy4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0K LQotLyogVGhpcyBwcm9ncmFtIGFsbG93cyBhIGdhbWUgdG8gc2VjdXJlbHkgYW5kIGF0b21p Y2FsbHkgdXBkYXRlIGEKLSAgIHNjb3JlIGZpbGUuICBJdCBzaG91bGQgYmUgaW5zdGFsbGVk IGVpdGhlciBzZXR1aWQgb3Igc2V0Z2lkLCBvd25lZAotICAgYnkgYW4gYXBwcm9wcmlhdGUg dXNlciBvciBncm91cCBsaWtlIGBnYW1lcycuCi0KLSAgIEFsdGVybmF0aXZlbHksIGl0IGNh biBiZSBjb21waWxlZCB3aXRob3V0IEhBVkVfU0hBUkVEX0dBTUVfRElSCi0gICBkZWZpbmVk LCBhbmQgaW4gdGhhdCBjYXNlIGl0IHdpbGwgc3RvcmUgc2NvcmVzIGluIHRoZSB1c2VyJ3Mg aG9tZQotICAgZGlyZWN0b3J5IChpdCBzaG91bGQgTk9UIGJlIHNldHVpZCkuCi0KLSAgIENy ZWF0ZWQgMjAwMi8wMy8yMi4KLSovCi0KLSNpbmNsdWRlIDxjb25maWcuaD4KLQotI2luY2x1 ZGUgPHVuaXN0ZC5oPgotI2luY2x1ZGUgPGVycm5vLmg+Ci0jaW5jbHVkZSA8aW50dHlwZXMu aD4KLSNpbmNsdWRlIDxsaW1pdHMuaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLSNpbmNsdWRl IDxzdGRsaWIuaD4KLSNpbmNsdWRlIDxzdGRpby5oPgotI2luY2x1ZGUgPHRpbWUuaD4KLSNp bmNsdWRlIDxwd2QuaD4KLSNpbmNsdWRlIDxjdHlwZS5oPgotI2luY2x1ZGUgPGZjbnRsLmg+ Ci0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSNpbmNsdWRlIDxnZXRvcHQuaD4KLQotI2lmZGVm IFdJTkRPV1NOVAotI2luY2x1ZGUgIm50bGliLmgiCi0jZW5kaWYKLQotI2lmbmRlZiBtaW4K LSMgZGVmaW5lIG1pbihhLGIpICgoYSkgPCAoYikgPyAoYSkgOiAoYikpCi0jZW5kaWYKLQot I2RlZmluZSBNQVhfQVRURU1QVFMgNQotI2RlZmluZSBNQVhfREFUQV9MRU4gMTAyNAotCi1z dGF0aWMgX05vcmV0dXJuIHZvaWQKLXVzYWdlIChpbnQgZXJyKQotewotICBmcHJpbnRmIChz dGRvdXQsICJVc2FnZTogdXBkYXRlLWdhbWUtc2NvcmUgWy1tIE1BWF0gWy1yXSBbLWQgRElS XSBnYW1lL3Njb3JlZmlsZSBTQ09SRSBEQVRBXG4iKTsKLSAgZnByaW50ZiAoc3Rkb3V0LCAi ICAgICAgIHVwZGF0ZS1nYW1lLXNjb3JlIC1oXG4iKTsKLSAgZnByaW50ZiAoc3Rkb3V0LCAi IC1oXHRcdERpc3BsYXkgdGhpcyBoZWxwLlxuIik7Ci0gIGZwcmludGYgKHN0ZG91dCwgIiAt bSBNQVhcdFx0TGltaXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIHNjb3JlcyB0byBNQVguXG4i KTsKLSAgZnByaW50ZiAoc3Rkb3V0LCAiIC1yXHRcdFNvcnQgdGhlIHNjb3JlcyBpbiBpbmNy ZWFzaW5nIG9yZGVyLlxuIik7Ci0gIGZwcmludGYgKHN0ZG91dCwgIiAtZCBESVJcdFx0U3Rv cmUgc2NvcmVzIGluIERJUiAob25seSBpZiBub3Qgc2V0dWlkKS5cbiIpOwotICBleGl0IChl cnIpOwotfQotCi1zdGF0aWMgaW50IGxvY2tfZmlsZSAoY29uc3QgY2hhciAqZmlsZW5hbWUs IHZvaWQgKipzdGF0ZSk7Ci1zdGF0aWMgaW50IHVubG9ja19maWxlIChjb25zdCBjaGFyICpm aWxlbmFtZSwgdm9pZCAqc3RhdGUpOwotCi1zdHJ1Y3Qgc2NvcmVfZW50cnkKLXsKLSAgY2hh ciAqc2NvcmU7Ci0gIGNoYXIgKnVzZXJfZGF0YTsKLX07Ci0KLSNkZWZpbmUgTUFYX1NDT1JF UyBtaW4gKFBUUkRJRkZfTUFYLCBTSVpFX01BWCAvIHNpemVvZiAoc3RydWN0IHNjb3JlX2Vu dHJ5KSkKLQotc3RhdGljIGludCByZWFkX3Njb3JlcyAoY29uc3QgY2hhciAqZmlsZW5hbWUs IHN0cnVjdCBzY29yZV9lbnRyeSAqKnNjb3JlcywKLQkJCXB0cmRpZmZfdCAqY291bnQsIHB0 cmRpZmZfdCAqYWxsb2MpOwotc3RhdGljIGludCBwdXNoX3Njb3JlIChzdHJ1Y3Qgc2NvcmVf ZW50cnkgKipzY29yZXMsIHB0cmRpZmZfdCAqY291bnQsCi0JCSAgICAgICBwdHJkaWZmX3Qg KnNpemUsIHN0cnVjdCBzY29yZV9lbnRyeSBjb25zdCAqbmV3c2NvcmUpOwotc3RhdGljIHZv aWQgc29ydF9zY29yZXMgKHN0cnVjdCBzY29yZV9lbnRyeSAqc2NvcmVzLCBwdHJkaWZmX3Qg Y291bnQsCi0JCQkgYm9vbCByZXZlcnNlKTsKLXN0YXRpYyBpbnQgd3JpdGVfc2NvcmVzIChj b25zdCBjaGFyICpmaWxlbmFtZSwgbW9kZV90IG1vZGUsCi0JCQkgY29uc3Qgc3RydWN0IHNj b3JlX2VudHJ5ICpzY29yZXMsIHB0cmRpZmZfdCBjb3VudCk7Ci0KLXN0YXRpYyBfTm9yZXR1 cm4gdm9pZAotbG9zZSAoY29uc3QgY2hhciAqbXNnKQotewotICBmcHJpbnRmIChzdGRlcnIs ICIlc1xuIiwgbXNnKTsKLSAgZXhpdCAoRVhJVF9GQUlMVVJFKTsKLX0KLQotc3RhdGljIF9O b3JldHVybiB2b2lkCi1sb3NlX3N5c2VyciAoY29uc3QgY2hhciAqbXNnKQotewotICBmcHJp bnRmIChzdGRlcnIsICIlczogJXNcbiIsIG1zZywKLQkgICBlcnJubyA/IHN0cmVycm9yIChl cnJubykgOiAiSW52YWxpZCBkYXRhIGluIHNjb3JlIGZpbGUiKTsKLSAgZXhpdCAoRVhJVF9G QUlMVVJFKTsKLX0KLQotc3RhdGljIGNoYXIgKgotZ2V0X3VzZXJfaWQgKHZvaWQpCi17Ci0g IHN0cnVjdCBwYXNzd2QgKmJ1ZiA9IGdldHB3dWlkIChnZXR1aWQgKCkpOwotICBpZiAoIWJ1 ZiB8fCBzdHJjaHIgKGJ1Zi0+cHdfbmFtZSwgJyAnKSB8fCBzdHJjaHIgKGJ1Zi0+cHdfbmFt ZSwgJ1xuJykpCi0gICAgewotICAgICAgaW50bWF4X3QgdWlkID0gZ2V0dWlkICgpOwotICAg ICAgY2hhciAqbmFtZSA9IG1hbGxvYyAoc2l6ZW9mIHVpZCAqIENIQVJfQklUIC8gMyArIDQp OwotICAgICAgaWYgKG5hbWUpCi0Jc3ByaW50ZiAobmFtZSwgIiUiUFJJZE1BWCwgdWlkKTsK LSAgICAgIHJldHVybiBuYW1lOwotICAgIH0KLSAgcmV0dXJuIGJ1Zi0+cHdfbmFtZTsKLX0K LQotc3RhdGljIGNvbnN0IGNoYXIgKgotZ2V0X3ByZWZpeCAoYm9vbCBwcml2aWxlZ2VkLCBj b25zdCBjaGFyICp1c2VyX3ByZWZpeCkKLXsKLSAgaWYgKHByaXZpbGVnZWQpCi0gICAgewot I2lmZGVmIEhBVkVfU0hBUkVEX0dBTUVfRElSCi0gICAgICByZXR1cm4gSEFWRV9TSEFSRURf R0FNRV9ESVI7Ci0jZWxzZQotICAgICAgbG9zZSAoIlRoaXMgcHJvZ3JhbSB3YXMgY29tcGls ZWQgd2l0aG91dCBIQVZFX1NIQVJFRF9HQU1FX0RJUixcbiIKLQkgICAgImFuZCBzaG91bGQg bm90IHJ1biB3aXRoIGVsZXZhdGVkIHByaXZpbGVnZXMuIik7Ci0jZW5kaWYKLSAgICB9Ci0g IGlmICh1c2VyX3ByZWZpeCA9PSBOVUxMKQotICAgIGxvc2UgKCJOb3QgdXNpbmcgYSBzaGFy ZWQgZ2FtZSBkaXJlY3RvcnksIGFuZCBubyBwcmVmaXggZ2l2ZW4uIik7Ci0gIHJldHVybiB1 c2VyX3ByZWZpeDsKLX0KLQotc3RhdGljIGNoYXIgKgotbm9ybWFsaXplX2ludGVnZXIgKGNo YXIgKm51bSkKLXsKLSAgYm9vbCBuZWc7Ci0gIGNoYXIgKnA7Ci0gIHdoaWxlICgqbnVtICE9 ICdcbicgJiYgaXNzcGFjZSAoKm51bSkpCi0gICAgbnVtKys7Ci0gIG5lZyA9ICpudW0gPT0g Jy0nOwotICBudW0gKz0gbmVnIHx8ICpudW0gPT0gJy0nOwotCi0gIGlmICgqbnVtID09ICcw JykKLSAgICB7Ci0gICAgICB3aGlsZSAoKisrbnVtID09ICcwJykKLQljb250aW51ZTsKLSAg ICAgIG5lZyAmPSAhISpudW07Ci0gICAgICBudW0gLT0gISpudW07Ci0gICAgfQotCi0gIGZv ciAocCA9IG51bTsgJzAnIDw9ICpwICYmICpwIDw9ICc5JzsgcCsrKQotICAgIGNvbnRpbnVl OwotCi0gIGlmICgqcCB8fCBwID09IG51bSkKLSAgICB7Ci0gICAgICBlcnJubyA9IDA7Ci0g ICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAgaWYgKG5lZykKLSAgICAqLS1udW0gPSAnLSc7 Ci0gIHJldHVybiBudW07Ci19Ci0KLWludAotbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2 KQotewotICBpbnQgYzsKLSAgYm9vbCBydW5uaW5nX3N1aWQsIHJ1bm5pbmdfc2dpZDsKLSAg dm9pZCAqbG9ja3N0YXRlOwotICBjaGFyICpzY29yZWZpbGU7Ci0gIGNoYXIgKmVuZCwgKm5s LCAqdXNlciwgKmRhdGE7Ci0gIGNvbnN0IGNoYXIgKnByZWZpeCwgKnVzZXJfcHJlZml4ID0g TlVMTDsKLSAgc3RydWN0IHNjb3JlX2VudHJ5ICpzY29yZXM7Ci0gIHN0cnVjdCBzY29yZV9l bnRyeSBuZXdzY29yZTsKLSAgYm9vbCByZXZlcnNlID0gZmFsc2U7Ci0gIHB0cmRpZmZfdCBz Y29yZWNvdW50LCBzY29yZWFsbG9jOwotICBwdHJkaWZmX3QgbWF4X3Njb3JlcyA9IE1BWF9T Q09SRVM7Ci0KLSAgc3JhbmQgKHRpbWUgKDApKTsKLQotICB3aGlsZSAoKGMgPSBnZXRvcHQg KGFyZ2MsIGFyZ3YsICJocm06ZDoiKSkgIT0gLTEpCi0gICAgc3dpdGNoIChjKQotICAgICAg ewotICAgICAgY2FzZSAnaCc6Ci0JdXNhZ2UgKEVYSVRfU1VDQ0VTUyk7Ci0JYnJlYWs7Ci0g ICAgICBjYXNlICdkJzoKLQl1c2VyX3ByZWZpeCA9IG9wdGFyZzsKLQlicmVhazsKLSAgICAg IGNhc2UgJ3InOgotCXJldmVyc2UgPSAxOwotCWJyZWFrOwotICAgICAgY2FzZSAnbSc6Ci0J ewotCSAgaW50bWF4X3QgbSA9IHN0cnRvaW1heCAob3B0YXJnLCAmZW5kLCAxMCk7Ci0JICBp ZiAob3B0YXJnID09IGVuZCB8fCAqZW5kIHx8IG0gPCAwKQotCSAgICB1c2FnZSAoRVhJVF9G QUlMVVJFKTsKLQkgIG1heF9zY29yZXMgPSBtaW4gKG0sIE1BWF9TQ09SRVMpOwotCX0KLQli cmVhazsKLSAgICAgIGRlZmF1bHQ6Ci0JdXNhZ2UgKEVYSVRfRkFJTFVSRSk7Ci0gICAgICB9 Ci0KLSAgaWYgKGFyZ2MgLSBvcHRpbmQgIT0gMykKLSAgICB1c2FnZSAoRVhJVF9GQUlMVVJF KTsKLQotICBydW5uaW5nX3N1aWQgPSAoZ2V0dWlkICgpICE9IGdldGV1aWQgKCkpOwotICBy dW5uaW5nX3NnaWQgPSAoZ2V0Z2lkICgpICE9IGdldGVnaWQgKCkpOwotICBpZiAocnVubmlu Z19zdWlkICYmIHJ1bm5pbmdfc2dpZCkKLSAgICBsb3NlICgiVGhpcyBwcm9ncmFtIGNhbiBy dW4gZWl0aGVyIHN1aWQgb3Igc2dpZCwgYnV0IG5vdCBib3RoLiIpOwotCi0gIHByZWZpeCA9 IGdldF9wcmVmaXggKHJ1bm5pbmdfc3VpZCB8fCBydW5uaW5nX3NnaWQsIHVzZXJfcHJlZml4 KTsKLQotICBzY29yZWZpbGUgPSBtYWxsb2MgKHN0cmxlbiAocHJlZml4KSArIHN0cmxlbiAo YXJndltvcHRpbmRdKSArIDIpOwotICBpZiAoIXNjb3JlZmlsZSkKLSAgICBsb3NlX3N5c2Vy ciAoIkNvdWxkbid0IGFsbG9jYXRlIHNjb3JlIGZpbGUiKTsKLQotICBjaGFyICp6ID0gc3Rw Y3B5IChzY29yZWZpbGUsIHByZWZpeCk7Ci0gICp6KysgPSAnLyc7Ci0gIHN0cmNweSAoeiwg YXJndltvcHRpbmRdKTsKLQotICBuZXdzY29yZS5zY29yZSA9IG5vcm1hbGl6ZV9pbnRlZ2Vy IChhcmd2W29wdGluZCArIDFdKTsKLSAgaWYgKCEgbmV3c2NvcmUuc2NvcmUpCi0gICAgewot ICAgICAgZnByaW50ZiAoc3RkZXJyLCAiJXM6IEludmFsaWQgc2NvcmVcbiIsIGFyZ3Zbb3B0 aW5kICsgMV0pOwotICAgICAgcmV0dXJuIEVYSVRfRkFJTFVSRTsKLSAgICB9Ci0KLSAgdXNl ciA9IGdldF91c2VyX2lkICgpOwotICBpZiAoISB1c2VyKQotICAgIGxvc2Vfc3lzZXJyICgi Q291bGRuJ3QgZGV0ZXJtaW5lIHVzZXIgaWQiKTsKLSAgZGF0YSA9IGFyZ3Zbb3B0aW5kICsg Ml07Ci0gIGlmIChzdHJsZW4gKGRhdGEpID4gTUFYX0RBVEFfTEVOKQotICAgIGRhdGFbTUFY X0RBVEFfTEVOXSA9ICdcMCc7Ci0gIG5sID0gc3RyY2hyIChkYXRhLCAnXG4nKTsKLSAgaWYg KG5sKQotICAgICpubCA9ICdcMCc7Ci0gIG5ld3Njb3JlLnVzZXJfZGF0YSA9IG1hbGxvYyAo c3RybGVuICh1c2VyKSArIDEgKyBzdHJsZW4gKGRhdGEpICsgMSk7Ci0gIGlmICghIG5ld3Nj b3JlLnVzZXJfZGF0YQotICAgICAgfHwgc3ByaW50ZiAobmV3c2NvcmUudXNlcl9kYXRhLCAi JXMgJXMiLCB1c2VyLCBkYXRhKSA8IDApCi0gICAgbG9zZV9zeXNlcnIgKCJNZW1vcnkgZXho YXVzdGVkIik7Ci0KLSAgaWYgKGxvY2tfZmlsZSAoc2NvcmVmaWxlLCAmbG9ja3N0YXRlKSA8 IDApCi0gICAgbG9zZV9zeXNlcnIgKCJGYWlsZWQgdG8gbG9jayBzY29yZXMgZmlsZSIpOwot Ci0gIGlmIChyZWFkX3Njb3JlcyAoc2NvcmVmaWxlLCAmc2NvcmVzLCAmc2NvcmVjb3VudCwg JnNjb3JlYWxsb2MpIDwgMCkKLSAgICB7Ci0gICAgICB1bmxvY2tfZmlsZSAoc2NvcmVmaWxl LCBsb2Nrc3RhdGUpOwotICAgICAgbG9zZV9zeXNlcnIgKCJGYWlsZWQgdG8gcmVhZCBzY29y ZXMgZmlsZSIpOwotICAgIH0KLSAgaWYgKHB1c2hfc2NvcmUgKCZzY29yZXMsICZzY29yZWNv dW50LCAmc2NvcmVhbGxvYywgJm5ld3Njb3JlKSA8IDApCi0gICAgewotICAgICAgdW5sb2Nr X2ZpbGUgKHNjb3JlZmlsZSwgbG9ja3N0YXRlKTsKLSAgICAgIGxvc2Vfc3lzZXJyICgiRmFp bGVkIHRvIGFkZCBzY29yZSIpOwotICAgIH0KLSAgc29ydF9zY29yZXMgKHNjb3Jlcywgc2Nv cmVjb3VudCwgcmV2ZXJzZSk7Ci0gIC8qIExpbWl0IHRoZSBudW1iZXIgb2Ygc2NvcmVzLiAg SWYgd2UncmUgdXNpbmcgcmV2ZXJzZSBzb3J0aW5nLCB0aGVuCi0gICAgIGFsc28gaW5jcmVt ZW50IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFycmF5LCB0byBza2lwIG92ZXIgdGhlCi0gICAg ICpzbWFsbGVzdCogc2NvcmVzLiAgT3RoZXJ3aXNlLCBqdXN0IGRlY3JlbWVudGluZyB0aGUg bnVtYmVyIG9mCi0gICAgIHNjb3JlcyBzdWZmaWNlcywgc2luY2UgdGhlIHNtYWxsZXN0IGlz IGF0IHRoZSBlbmQuICovCi0gIGlmIChzY29yZWNvdW50ID4gbWF4X3Njb3JlcykKLSAgICB7 Ci0gICAgICBpZiAocmV2ZXJzZSkKLQlzY29yZXMgKz0gc2NvcmVjb3VudCAtIG1heF9zY29y ZXM7Ci0gICAgICBzY29yZWNvdW50ID0gbWF4X3Njb3JlczsKLSAgICB9Ci0gIGlmICh3cml0 ZV9zY29yZXMgKHNjb3JlZmlsZSwgcnVubmluZ19zZ2lkID8gMDY2NCA6IDA2NDQsCi0JCSAg ICBzY29yZXMsIHNjb3JlY291bnQpIDwgMCkKLSAgICB7Ci0gICAgICB1bmxvY2tfZmlsZSAo c2NvcmVmaWxlLCBsb2Nrc3RhdGUpOwotICAgICAgbG9zZV9zeXNlcnIgKCJGYWlsZWQgdG8g d3JpdGUgc2NvcmVzIGZpbGUiKTsKLSAgICB9Ci0gIGlmICh1bmxvY2tfZmlsZSAoc2NvcmVm aWxlLCBsb2Nrc3RhdGUpIDwgMCkKLSAgICBsb3NlX3N5c2VyciAoIkZhaWxlZCB0byB1bmxv Y2sgc2NvcmVzIGZpbGUiKTsKLSAgZXhpdCAoRVhJVF9TVUNDRVNTKTsKLX0KLQotc3RhdGlj IGNoYXIgKgotcmVhZF9zY29yZSAoY2hhciAqcCwgc3RydWN0IHNjb3JlX2VudHJ5ICpzY29y ZSkKLXsKLSAgc2NvcmUtPnNjb3JlID0gcDsKLSAgcCA9IHN0cmNociAocCwgJyAnKTsKLSAg aWYgKCFwKQotICAgIHJldHVybiBwOwotICAqcCsrID0gMDsKLSAgc2NvcmUtPnVzZXJfZGF0 YSA9IHA7Ci0gIHAgPSBzdHJjaHIgKHAsICdcbicpOwotICBpZiAoIXApCi0gICAgcmV0dXJu IHA7Ci0gICpwKysgPSAwOwotICByZXR1cm4gcDsKLX0KLQotc3RhdGljIGludAotcmVhZF9z Y29yZXMgKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBzdHJ1Y3Qgc2NvcmVfZW50cnkgKipzY29y ZXMsCi0JICAgICBwdHJkaWZmX3QgKmNvdW50LCBwdHJkaWZmX3QgKmFsbG9jKQotewotICBj aGFyICpwLCAqZmlsZWRhdGE7Ci0gIHB0cmRpZmZfdCBmaWxlc2l6ZSwgbnJlYWQ7Ci0gIHN0 cnVjdCBzdGF0IHN0OwotICBGSUxFICpmID0gZm9wZW4gKGZpbGVuYW1lLCAiciIpOwotICBp ZiAoIWYpCi0gICAgcmV0dXJuIC0xOwotICBpZiAoZnN0YXQgKGZpbGVubyAoZiksICZzdCkg IT0gMCkKLSAgICByZXR1cm4gLTE7Ci0gIGlmICghICgwIDw9IHN0LnN0X3NpemUgJiYgc3Qu c3Rfc2l6ZSA8IG1pbiAoUFRSRElGRl9NQVgsIFNJWkVfTUFYKSkpCi0gICAgewotICAgICAg ZXJybm8gPSBFT1ZFUkZMT1c7Ci0gICAgICByZXR1cm4gLTE7Ci0gICAgfQotICBmaWxlc2l6 ZSA9IHN0LnN0X3NpemU7Ci0gIGZpbGVkYXRhID0gbWFsbG9jIChmaWxlc2l6ZSArIDEpOwot ICBpZiAoISBmaWxlZGF0YSkKLSAgICByZXR1cm4gLTE7Ci0gIG5yZWFkID0gZnJlYWQgKGZp bGVkYXRhLCAxLCBmaWxlc2l6ZSArIDEsIGYpOwotICBpZiAoZmlsZXNpemUgPCBucmVhZCkK LSAgICB7Ci0gICAgICBlcnJubyA9IDA7Ci0gICAgICByZXR1cm4gLTE7Ci0gICAgfQotICBp ZiAobnJlYWQgPCBmaWxlc2l6ZSkKLSAgICBmaWxlc2l6ZSA9IG5yZWFkOwotICBpZiAoZmVy cm9yIChmKSB8fCBmY2xvc2UgKGYpICE9IDApCi0gICAgcmV0dXJuIC0xOwotICBmaWxlZGF0 YVtmaWxlc2l6ZV0gPSAwOwotICBpZiAoc3RybGVuIChmaWxlZGF0YSkgIT0gZmlsZXNpemUp Ci0gICAgewotICAgICAgZXJybm8gPSAwOwotICAgICAgcmV0dXJuIC0xOwotICAgIH0KLQot ICAqc2NvcmVzID0gMDsKLSAgKmNvdW50ID0gKmFsbG9jID0gMDsKLSAgZm9yIChwID0gZmls ZWRhdGE7IHAgPCBmaWxlZGF0YSArIGZpbGVzaXplOyApCi0gICAgewotICAgICAgc3RydWN0 IHNjb3JlX2VudHJ5IGVudHJ5OwotICAgICAgcCA9IHJlYWRfc2NvcmUgKHAsICZlbnRyeSk7 Ci0gICAgICBpZiAoIXApCi0JewotCSAgZXJybm8gPSAwOwotCSAgcmV0dXJuIC0xOwotCX0K LSAgICAgIGlmIChwdXNoX3Njb3JlIChzY29yZXMsIGNvdW50LCBhbGxvYywgJmVudHJ5KSA8 IDApCi0JcmV0dXJuIC0xOwotICAgIH0KLSAgcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQK LXNjb3JlX2NvbXBhcmUgKGNvbnN0IHZvaWQgKmEsIGNvbnN0IHZvaWQgKmIpCi17Ci0gIGNv bnN0IHN0cnVjdCBzY29yZV9lbnRyeSAqc2EgPSAoY29uc3Qgc3RydWN0IHNjb3JlX2VudHJ5 ICopIGE7Ci0gIGNvbnN0IHN0cnVjdCBzY29yZV9lbnRyeSAqc2IgPSAoY29uc3Qgc3RydWN0 IHNjb3JlX2VudHJ5ICopIGI7Ci0gIGNoYXIgKnNjYSA9IHNhLT5zY29yZTsKLSAgY2hhciAq c2NiID0gc2ItPnNjb3JlOwotICBzaXplX3QgbGVuYSwgbGVuYjsKLSAgYm9vbCBuZWdhID0g KnNjYSA9PSAnLSc7Ci0gIGJvb2wgbmVnYiA9ICpzY2IgPT0gJy0nOwotICBpbnQgZGlmZiA9 IG5lZ2EgLSBuZWdiOwotICBpZiAoZGlmZikKLSAgICByZXR1cm4gZGlmZjsKLSAgaWYgKG5l Z2EpCi0gICAgewotICAgICAgY2hhciAqdG1wID0gc2NhOwotICAgICAgc2NhID0gc2NiICsg MTsKLSAgICAgIHNjYiA9IHRtcCArIDE7Ci0gICAgfQotICBsZW5hID0gc3RybGVuIChzY2Ep OwotICBsZW5iID0gc3RybGVuIChzY2IpOwotICBpZiAobGVuYSAhPSBsZW5iKQotICAgIHJl dHVybiBsZW5iIDwgbGVuYSA/IC0xIDogMTsKLSAgcmV0dXJuIHN0cmNtcCAoc2NiLCBzY2Ep OwotfQotCi1zdGF0aWMgaW50Ci1zY29yZV9jb21wYXJlX3JldmVyc2UgKGNvbnN0IHZvaWQg KmEsIGNvbnN0IHZvaWQgKmIpCi17Ci0gIHJldHVybiBzY29yZV9jb21wYXJlIChiLCBhKTsK LX0KLQotaW50Ci1wdXNoX3Njb3JlIChzdHJ1Y3Qgc2NvcmVfZW50cnkgKipzY29yZXMsIHB0 cmRpZmZfdCAqY291bnQsIHB0cmRpZmZfdCAqc2l6ZSwKLQkgICAgc3RydWN0IHNjb3JlX2Vu dHJ5IGNvbnN0ICpuZXdzY29yZSkKLXsKLSAgc3RydWN0IHNjb3JlX2VudHJ5ICpuZXdzY29y ZXMgPSAqc2NvcmVzOwotICBpZiAoKmNvdW50ID09ICpzaXplKQotICAgIHsKLSAgICAgIHB0 cmRpZmZfdCBuZXdzaXplID0gKnNpemU7Ci0gICAgICBpZiAobmV3c2l6ZSA8PSAwKQotCW5l d3NpemUgPSAxOwotICAgICAgZWxzZSBpZiAobmV3c2l6ZSA8PSBNQVhfU0NPUkVTIC8gMikK LQluZXdzaXplICo9IDI7Ci0gICAgICBlbHNlIGlmIChuZXdzaXplIDwgTUFYX1NDT1JFUykK LQluZXdzaXplID0gTUFYX1NDT1JFUzsKLSAgICAgIGVsc2UKLQl7Ci0JICBlcnJubyA9IEVO T01FTTsKLQkgIHJldHVybiAtMTsKLQl9Ci0gICAgICBuZXdzY29yZXMgPSByZWFsbG9jIChu ZXdzY29yZXMsIHNpemVvZiAqbmV3c2NvcmVzICogbmV3c2l6ZSk7Ci0gICAgICBpZiAoIW5l d3Njb3JlcykKLQlyZXR1cm4gLTE7Ci0gICAgICAqc2NvcmVzID0gbmV3c2NvcmVzOwotICAg ICAgKnNpemUgPSBuZXdzaXplOwotICAgIH0KLSAgbmV3c2NvcmVzWypjb3VudF0gPSAqbmV3 c2NvcmU7Ci0gICgqY291bnQpICs9IDE7Ci0gIHJldHVybiAwOwotfQotCi1zdGF0aWMgdm9p ZAotc29ydF9zY29yZXMgKHN0cnVjdCBzY29yZV9lbnRyeSAqc2NvcmVzLCBwdHJkaWZmX3Qg Y291bnQsIGJvb2wgcmV2ZXJzZSkKLXsKLSAgcXNvcnQgKHNjb3JlcywgY291bnQsIHNpemVv ZiAqc2NvcmVzLAotCSByZXZlcnNlID8gc2NvcmVfY29tcGFyZV9yZXZlcnNlIDogc2NvcmVf Y29tcGFyZSk7Ci19Ci0KLXN0YXRpYyBpbnQKLXdyaXRlX3Njb3JlcyAoY29uc3QgY2hhciAq ZmlsZW5hbWUsIG1vZGVfdCBtb2RlLAotCSAgICAgIGNvbnN0IHN0cnVjdCBzY29yZV9lbnRy eSAqc2NvcmVzLCBwdHJkaWZmX3QgY291bnQpCi17Ci0gIGludCBmZDsKLSAgRklMRSAqZjsK LSAgcHRyZGlmZl90IGk7Ci0gIGNoYXIgKnRlbXBmaWxlID0gbWFsbG9jIChzdHJsZW4gKGZp bGVuYW1lKSArIHN0cmxlbiAoIi50ZW1wWFhYWFhYIikgKyAxKTsKLSAgaWYgKCF0ZW1wZmls ZSkKLSAgICByZXR1cm4gLTE7Ci0gIHN0cmNweSAoc3RwY3B5ICh0ZW1wZmlsZSwgZmlsZW5h bWUpLCAiLnRlbXBYWFhYWFgiKTsKLSAgZmQgPSBta29zdGVtcCAodGVtcGZpbGUsIDApOwot ICBpZiAoZmQgPCAwKQotICAgIHJldHVybiAtMTsKLSNpZm5kZWYgRE9TX05UCi0gIGlmIChm Y2htb2QgKGZkLCBtb2RlKSAhPSAwKQotICAgIHJldHVybiAtMTsKLSNlbmRpZgotICBmID0g ZmRvcGVuIChmZCwgInciKTsKLSAgaWYgKCEgZikKLSAgICByZXR1cm4gLTE7Ci0gIGZvciAo aSA9IDA7IGkgPCBjb3VudDsgaSsrKQotICAgIGlmIChmcHJpbnRmIChmLCAiJXMgJXNcbiIs IHNjb3Jlc1tpXS5zY29yZSwgc2NvcmVzW2ldLnVzZXJfZGF0YSkgPCAwKQotICAgICAgcmV0 dXJuIC0xOwotICBpZiAoZmNsb3NlIChmKSAhPSAwKQotICAgIHJldHVybiAtMTsKLSAgaWYg KHJlbmFtZSAodGVtcGZpbGUsIGZpbGVuYW1lKSAhPSAwKQotICAgIHJldHVybiAtMTsKLSAg cmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBpbnQKLWxvY2tfZmlsZSAoY29uc3QgY2hhciAqZmls ZW5hbWUsIHZvaWQgKipzdGF0ZSkKLXsKLSAgaW50IGZkOwotICBzdHJ1Y3Qgc3RhdCBidWY7 Ci0gIGludCBhdHRlbXB0cyA9IDA7Ci0gIGNvbnN0IGNoYXIgKmxvY2tleHQgPSAiLmxvY2tm aWxlIjsKLSAgY2hhciAqbG9ja3BhdGggPSBtYWxsb2MgKHN0cmxlbiAoZmlsZW5hbWUpICsg c3RybGVuIChsb2NrZXh0KSArIDYwKTsKLSAgaWYgKCFsb2NrcGF0aCkKLSAgICByZXR1cm4g LTE7Ci0gIHN0cmNweSAoc3RwY3B5IChsb2NrcGF0aCwgZmlsZW5hbWUpLCBsb2NrZXh0KTsK LSAgKnN0YXRlID0gbG9ja3BhdGg7Ci0KLSAgd2hpbGUgKChmZCA9IG9wZW4gKGxvY2twYXRo LCBPX0NSRUFUIHwgT19FWENMLCAwNjAwKSkgPCAwKQotICAgIHsKLSAgICAgIGlmIChlcnJu byAhPSBFRVhJU1QpCi0JcmV0dXJuIC0xOwotICAgICAgYXR0ZW1wdHMrKzsKLQotICAgICAg LyogQnJlYWsgdGhlIGxvY2sgaWYgaXQgaXMgb3ZlciBhbiBob3VyIG9sZCwgb3IgaWYgd2Un dmUgdHJpZWQKLQkgbW9yZSB0aGFuIE1BWF9BVFRFTVBUUyB0aW1lcy4gIFdlIHdvbid0IGNv cnJ1cHQgdGhlIGZpbGUsIGJ1dAotCSB3ZSBtaWdodCBsb3NlIHNvbWUgc2NvcmVzLiAqLwot ICAgICAgaWYgKE1BWF9BVFRFTVBUUyA8IGF0dGVtcHRzCi0JICB8fCAoc3RhdCAobG9ja3Bh dGgsICZidWYpID09IDAgJiYgNjAgKiA2MCA8IHRpbWUgKDApIC0gYnVmLnN0X2N0aW1lKSkK LQl7Ci0JICBpZiAodW5saW5rIChsb2NrcGF0aCkgIT0gMCAmJiBlcnJubyAhPSBFTk9FTlQp Ci0JICAgIHJldHVybiAtMTsKLQkgIGF0dGVtcHRzID0gMDsKLQl9Ci0KLSAgICAgIHNsZWVw ICgocmFuZCAoKSAmIDEpICsgMSk7Ci0gICAgfQotCi0gIGNsb3NlIChmZCk7Ci0gIHJldHVy biAwOwotfQotCi1zdGF0aWMgaW50Ci11bmxvY2tfZmlsZSAoY29uc3QgY2hhciAqZmlsZW5h bWUsIHZvaWQgKnN0YXRlKQotewotICBjaGFyICpsb2NrcGF0aCA9IChjaGFyICopIHN0YXRl OwotICBpbnQgc2F2ZWRfZXJybm8gPSBlcnJubzsKLSAgaW50IHJldCA9IHVubGluayAobG9j a3BhdGgpOwotICBpbnQgdW5saW5rX2Vycm5vID0gZXJybm87Ci0gIGZyZWUgKGxvY2twYXRo KTsKLSAgZXJybm8gPSByZXQgPCAwID8gdW5saW5rX2Vycm5vIDogc2F2ZWRfZXJybm87Ci0g IHJldHVybiByZXQ7Ci19Ci0KLS8qIHVwZGF0ZS1nYW1lLXNjb3JlLmMgZW5kcyBoZXJlICov CmRpZmYgLS1naXQgYS9saWItc3JjL3VwZGF0ZS1nYW1lLXNjb3JlLmV4ZS5tYW5pZmVzdCBi L2xpYi1zcmMvdXBkYXRlLWdhbWUtc2NvcmUuZXhlLm1hbmlmZXN0CmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAxZGI4MzZiLi4wMDAwMDAwCi0tLSBhL2xpYi1zcmMvdXBkYXRl LWdhbWUtc2NvcmUuZXhlLm1hbmlmZXN0CisrKyAvZGV2L251bGwKQEAgLTEsMTAgKzAsMCBA QAotPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Inll cyI/Pg0KLTxhc3NlbWJseSB4bWxucz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTphc20u djEiIG1hbmlmZXN0VmVyc2lvbj0iMS4wIj4NCi0gIDx2Mzp0cnVzdEluZm8geG1sbnM6djM9 InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206YXNtLnYzIj4NCi0gICAgPHYzOnNlY3VyaXR5 Pg0KLSAgICAgIDx2MzpyZXF1ZXN0ZWRQcml2aWxlZ2VzPg0KLQk8djM6cmVxdWVzdGVkRXhl Y3V0aW9uTGV2ZWwgbGV2ZWw9ImFzSW52b2tlciIgLz4NCi0gICAgICA8L3YzOnJlcXVlc3Rl ZFByaXZpbGVnZXM+DQotICAgIDwvdjM6c2VjdXJpdHk+DQotICA8L3YzOnRydXN0SW5mbz4N Ci08L2Fzc2VtYmx5Pg0KZGlmZiAtLWdpdCBhL2xpc3AvcGxheS9nYW1lZ3JpZC5lbCBiL2xp c3AvcGxheS9nYW1lZ3JpZC5lbAppbmRleCBiMGNjYmQzLi40ZjNiZTcxIDEwMDY0NAotLS0g YS9saXNwL3BsYXkvZ2FtZWdyaWQuZWwKKysrIGIvbGlzcC9wbGF5L2dhbWVncmlkLmVsCkBA IC00MzMsMTcgKzQzMyw5IEBAIGdhbWVncmlkLWtpbGwtdGltZXIKIChkZWZ1biBnYW1lZ3Jp ZC1hZGQtc2NvcmUgKGZpbGUgc2NvcmUpCiAgICJBZGQgdGhlIGN1cnJlbnQgc2NvcmUgdG8g dGhlIGhpZ2ggc2NvcmUgZmlsZS4KIAotT24gUE9TSVggc3lzdGVtcyB0aGVyZSBtYXkgYmUg YSBzaGFyZWQgZ2FtZSBkaXJlY3RvcnkgZm9yIGFsbCB1c2VycyBpbgotd2hpY2ggdGhlIHNj b3JlZmlsZXMgYXJlIGtlcHQuICBPbiBzdWNoIHN5c3RlbXMgRW1hY3MgZG9lc24ndCBjcmVh dGUKLXRoZSBzY29yZSBmaWxlIEZJTEUgaW4gdGhpcyBkaXJlY3RvcnksIGlmIGl0IGRvZXNu J3QgYWxyZWFkeSBleGlzdC4KLUluIHRoaXMgY2FzZSBFbWFjcyBzZWFyY2hlcyBmb3IgRklM RSBpbiB0aGUgZGlyZWN0b3J5IHNwZWNpZmllZCBieQotYGdhbWVncmlkLXVzZXItc2NvcmUt ZmlsZS1kaXJlY3RvcnknIGFuZCBjcmVhdGVzIGl0IHRoZXJlLCBpZgotbmVjZXNzYXJ5Lgot Ci1UbyBhZGQgdGhlIHNjb3JlIGZpbGUgZm9yIGEgZ2FtZSB0byB0aGUgc3lzdGVtIHdpZGUg c2hhcmVkIGdhbWUKLWRpcmVjdG9yeSwgY3JlYXRlIHRoZSBmaWxlIHdpdGggdGhlIHNoZWxs IGNvbW1hbmQgXCJ0b3VjaFwiIGluIHRoaXMKLWRpcmVjdG9yeSBhbmQgbWFrZSBzdXJlIHRo YXQgaXQgaXMgb3duZWQgYnkgdGhlIGNvcnJlY3QgdXNlciBhbmQKLWdyb3VwLiAgWW91IHBy b2JhYmx5IG5lZWQgc3BlY2lhbCB1c2VyIHByaXZpbGVnZXMgdG8gZG8gdGhpcy4KK09uIFBP U0lYIHN5c3RlbXMgRW1hY3Mgc2VhcmNoZXMgZm9yIEZJTEUgaW4gdGhlIGRpcmVjdG9yeQor c3BlY2lmaWVkIGJ5IGBnYW1lZ3JpZC11c2VyLXNjb3JlLWZpbGUtZGlyZWN0b3J5JyBhbmQg Y3JlYXRlcyBpdAordGhlcmUsIGlmIG5lY2Vzc2FyeS4KIAogT24gbm9uLVBPU0lYIHN5c3Rl bXMgRW1hY3Mgc2VhcmNoZXMgZm9yIEZJTEUgaW4gdGhlIGRpcmVjdG9yeQogc3BlY2lmaWVk IGJ5IHRoZSB2YXJpYWJsZSBgdGVtcG9yYXJ5LWZpbGUtZGlyZWN0b3J5Jy4gIElmIG5lY2Vz c2FyeSwKQEAgLTQ1NSwxMTIgKzQ0NywzNCBAQCBnYW1lZ3JpZC1hZGQtc2NvcmUKICAgICAg KGdhbWVncmlkLWFkZC1zY29yZS13aXRoLXVwZGF0ZS1nYW1lLXNjb3JlIGZpbGUgc2NvcmUp KSkpCiAKIAotOzsgT24gUE9TSVggc3lzdGVtcyB0aGVyZSBhcmUgZm91ciBjYXNlcyB0byBk aXN0aW5ndWlzaDoKKzs7IE9uIFBPU0lYIHN5c3RlbXMgdGhlcmUgYXJlIHR3byBjYXNlcyB0 byBkaXN0aW5ndWlzaDoKIAogOzsgICAgIDEuIEZJTEUgaXMgYW4gYWJzb2x1dGUgZmlsZW5h bWUuICBUaGVuIGl0IHNob3VsZCBiZSBhIGZpbGUgaW4KIDs7ICAgICAgICB0ZW1wb3Jhcnkg ZmlsZSBkaXJlY3RvcnkuICBUaGlzIGlzIHRoZSB3YXksCiA7OyAgICAgICAgYGdhbWVncmlk LWFkZC1zY29yZScgd2FzIHN1cHBvc2VkIHRvIGJlIHVzZWQgaW4gdGhlIHBhc3QgYW5kCiA7 OyAgICAgICAgaXMgY292ZXJlZCBoZXJlIGZvciBiYWNrd2FyZC1jb21wYXRpYmlsaXR5Lgog OzsKLTs7ICAgICAyLiBUaGUgaGVscGVyIHByb2dyYW0gInVwZGF0ZS1nYW1lLXNjb3JlIiBp cyBzZXRnaWQgb3Igc2V0dWlkCi07OyAgICAgICAgYW5kIHRoZSBmaWxlIEZJTEUgZG9lcyBh bHJlYWR5IGV4aXN0IGluIGEgc3lzdGVtIHdpZGUgc2hhcmVkCi07OyAgICAgICAgZ2FtZSBk aXJlY3RvcnkuICBUaGlzIHNob3VsZCBiZSB0aGUgbm9ybWFsIGNhc2Ugb24gUE9TSVgKLTs7 ICAgICAgICBzeXN0ZW1zLCBpZiB0aGUgZ2FtZSB3YXMgaW5zdGFsbGVkIHN5c3RlbSB3aWRl LiAgVXNlCi07OyAgICAgICAgInVwZGF0ZS1nYW1lLXNjb3JlIiB0byBhZGQgdGhlIHNjb3Jl IHRvIHRoZSBmaWxlIGluIHRoZQotOzsgICAgICAgIHNoYXJlZCBnYW1lIGRpcmVjdG9yeS4K LTs7Ci07OyAgICAgMy4gInVwZGF0ZS1nYW1lLXNjb3JlIiBpcyBzZXRnaWQvc2V0dWlkLCBi dXQgdGhlIGZpbGUgRklMRSBkb2VzCi07OyAgICAgICAgKm5vdCogZXhpc3QgaW4gdGhlIHN5 c3RlbSB3aWRlIHNoYXJlZCBnYW1lIGRpcmVjdG9yeS4gIFVzZQotOzsgICAgICAgIGBnYW1l Z3JpZC1hZGQtc2NvcmUtaW5zZWN1cmUnIHRvIGNyZWF0ZS0taWYgbmVjZXNzYXJ5LS1hbmQK LTs7ICAgICAgICB1cGRhdGUgRklMRS4gIFRoaXMgaXMgZm9yIHRoZSBjYXNlIHRoYXQgYSB1 c2VyIGhhcyBpbnN0YWxsZWQKLTs7ICAgICAgICBhIGdhbWUgb24gaGVyIG93bi4KLTs7Ci07 OyAgICAgNC4gInVwZGF0ZS1nYW1lLXNjb3JlIiBpcyBub3Qgc2V0Z2lkL3NldHVpZC4gIFVz ZSBpdCB0bwotOzsgICAgICAgIGNyZWF0ZS91cGRhdGUgRklMRSBpbiB0aGUgdXNlcidzIGhv bWUgZGlyZWN0b3J5LiAgVGhlcmUgaXMKLTs7ICAgICAgICBwcmVzdW1hYmx5IG5vIHNoYXJl ZCBnYW1lIGRpcmVjdG9yeS4KKzs7ICAgICAyLiBDcmVhdGUvdXBkYXRlIEZJTEUgaW4gdGhl IHVzZXIncyBob21lIGRpcmVjdG9yeS4KIAogKGRlZnZhciBnYW1lZ3JpZC1zaGFyZWQtZ2Ft ZS1kaXIpCisobWFrZS1vYnNvbGV0ZS12YXJpYWJsZSAnZ2FtZWdyaWQtc2hhcmVkLWdhbWUt ZGlyIG5pbCAiMjYuMSIpCiAKIChkZWZ1biBnYW1lZ3JpZC1hZGQtc2NvcmUtd2l0aC11cGRh dGUtZ2FtZS1zY29yZSAoZmlsZSBzY29yZSkKLSAgKGxldCAoKGdhbWVncmlkLXNoYXJlZC1n YW1lLWRpcgotCSAobm90ICh6ZXJvcCAobG9nYW5kIChmaWxlLW1vZGVzCi0JCQkgICAgICAo ZXhwYW5kLWZpbGUtbmFtZSAidXBkYXRlLWdhbWUtc2NvcmUiCi0JCQkJCQlleGVjLWRpcmVj dG9yeSkpCi0JCQkgICAgICNvNjAwMCkpKSkpCi0gICAgKGNvbmQgKChmaWxlLW5hbWUtYWJz b2x1dGUtcCBmaWxlKQotCSAgIChnYW1lZ3JpZC1hZGQtc2NvcmUtaW5zZWN1cmUgZmlsZSBz Y29yZSkpCi0JICAoKGFuZCBnYW1lZ3JpZC1zaGFyZWQtZ2FtZS1kaXIKLQkJKGZpbGUtZXhp c3RzLXAgKGV4cGFuZC1maWxlLW5hbWUgZmlsZSBzaGFyZWQtZ2FtZS1zY29yZS1kaXJlY3Rv cnkpKSkKLQkgICA7OyBVc2UgdGhlIHNldGdpZCAob3Igc2V0dWlkKSAidXBkYXRlLWdhbWUt c2NvcmUiIHByb2dyYW0KLQkgICA7OyB0byB1cGRhdGUgYSBzeXN0ZW0td2lkZSBzY29yZSBm aWxlLgotCSAgIChnYW1lZ3JpZC1hZGQtc2NvcmUtd2l0aC11cGRhdGUtZ2FtZS1zY29yZS0x IGZpbGUKLQkgICAgKGV4cGFuZC1maWxlLW5hbWUgZmlsZSBzaGFyZWQtZ2FtZS1zY29yZS1k aXJlY3RvcnkpIHNjb3JlKSkKLQkgIDs7IEVsc2U6IEFkZCB0aGUgc2NvcmUgdG8gYSBzY29y ZSBmaWxlIGluIHRoZSB1c2VyJ3MgaG9tZQotCSAgOzsgZGlyZWN0b3J5LgotCSAgKGdhbWVn cmlkLXNoYXJlZC1nYW1lLWRpcgotCSAgIDs7IElmIGBnYW1lZ3JpZC1zaGFyZWQtZ2FtZS1k aXInIGlzIG5vbi1uaWwsIHRoZW4KLQkgICA7OyAidXBkYXRlLWdhbWVzY29yZSIgcHJvZ3Jh bSBpcyBzZXR1aWQsIHNvIGRvbid0IHVzZSBpdC4KLQkgICAodW5sZXNzIChmaWxlLWV4aXN0 cy1wCi0JCSAgICAoZGlyZWN0b3J5LWZpbGUtbmFtZSBnYW1lZ3JpZC11c2VyLXNjb3JlLWZp bGUtZGlyZWN0b3J5KSkKLQkgICAgIChtYWtlLWRpcmVjdG9yeSBnYW1lZ3JpZC11c2VyLXNj b3JlLWZpbGUtZGlyZWN0b3J5IHQpKQotCSAgIChnYW1lZ3JpZC1hZGQtc2NvcmUtaW5zZWN1 cmUgZmlsZSBzY29yZQotCQkJCQlnYW1lZ3JpZC11c2VyLXNjb3JlLWZpbGUtZGlyZWN0b3J5 KSkKLQkgICh0Ci0JICAgKHVubGVzcyAoZmlsZS1leGlzdHMtcAotCQkgICAgKGRpcmVjdG9y eS1maWxlLW5hbWUgZ2FtZWdyaWQtdXNlci1zY29yZS1maWxlLWRpcmVjdG9yeSkpCi0JICAg ICAobWFrZS1kaXJlY3RvcnkgZ2FtZWdyaWQtdXNlci1zY29yZS1maWxlLWRpcmVjdG9yeSB0 KSkKLQkgICAobGV0ICgoZiAoZXhwYW5kLWZpbGUtbmFtZSBmaWxlCi0JCQkJICAgICAgZ2Ft ZWdyaWQtdXNlci1zY29yZS1maWxlLWRpcmVjdG9yeSkpKQotCSAgICAgKHVubGVzcyAoZmls ZS1leGlzdHMtcCBmKQotCSAgICAgICAod3JpdGUtcmVnaW9uICIiIG5pbCBmIG5pbCAnc2ls ZW50IG5pbCAnZXhjbCkpCi0JICAgICAoZ2FtZWdyaWQtYWRkLXNjb3JlLXdpdGgtdXBkYXRl LWdhbWUtc2NvcmUtMSBmaWxlIGYgc2NvcmUpKSkpKSkKKyAgKGlmIChmaWxlLW5hbWUtYWJz b2x1dGUtcCBmaWxlKQorICAgICAgKGdhbWVncmlkLWFkZC1zY29yZS1pbnNlY3VyZSBmaWxl IHNjb3JlKQorICAgIDs7IEFkZCB0aGUgc2NvcmUgdG8gYSBzY29yZSBmaWxlIGluIHRoZSB1 c2VyJ3MgaG9tZSBkaXJlY3RvcnkuCisgICAgKHVubGVzcyAoZmlsZS1leGlzdHMtcAorICAg ICAgICAgICAgIChkaXJlY3RvcnktZmlsZS1uYW1lIGdhbWVncmlkLXVzZXItc2NvcmUtZmls ZS1kaXJlY3RvcnkpKQorICAgICAgKG1ha2UtZGlyZWN0b3J5IGdhbWVncmlkLXVzZXItc2Nv cmUtZmlsZS1kaXJlY3RvcnkgdCkpCisgICAgKGxldCAoKGYgKGV4cGFuZC1maWxlLW5hbWUg ZmlsZSBnYW1lZ3JpZC11c2VyLXNjb3JlLWZpbGUtZGlyZWN0b3J5KSkpCisgICAgICAodW5s ZXNzIChmaWxlLWV4aXN0cy1wIGYpCisgICAgICAgICh3cml0ZS1yZWdpb24gIiIgbmlsIGYg bmlsICdzaWxlbnQgbmlsICdleGNsKSkKKyAgICAgIChnYW1lZ3JpZC1hZGQtc2NvcmUtaW5z ZWN1cmUgZiBzY29yZSkpKSkKIAogKGRlZnVuIGdhbWVncmlkLWFkZC1zY29yZS13aXRoLXVw ZGF0ZS1nYW1lLXNjb3JlLTEgKGZpbGUgdGFyZ2V0IHNjb3JlKQotICAobGV0ICgoZGVmYXVs dC1kaXJlY3RvcnkgIi8iKQotCShlcnJidWYgKGdlbmVyYXRlLW5ldy1idWZmZXIgIiAqdXBk YXRlLWdhbWUtc2NvcmUgbG9zcyoiKSkKLSAgICAgICAgKG1hcmtlci1zdHJpbmcgKGNvbmNh dAotCQkJKHVzZXItZnVsbC1uYW1lKQotCQkJIiA8IgotCQkJKGNvbmQgKChmYm91bmRwICd1 c2VyLW1haWwtYWRkcmVzcykKLQkJCSAgICAgICAodXNlci1tYWlsLWFkZHJlc3MpKQotCQkJ ICAgICAgKChib3VuZHAgJ3VzZXItbWFpbC1hZGRyZXNzKQotCQkJICAgICAgIHVzZXItbWFp bC1hZGRyZXNzKQotCQkJICAgICAgKHQgIiIpKQotCQkJIj4gICIKLQkJCShjdXJyZW50LXRp bWUtc3RyaW5nKSkpKQotICAgIDs7IFRoaXMgY2FuIGJlIGNhbGxlZCBmcm9tIGEgdGltZXIs IHNvIGVuYWJsZSBsb2NhbCBxdWl0cy4KLSAgICAod2l0aC1sb2NhbC1xdWl0Ci0gICAgICAo YXBwbHkKLSAgICAgICAnY2FsbC1wcm9jZXNzCi0gICAgICAgKGFwcGVuZAotCShsaXN0Ci0J IChleHBhbmQtZmlsZS1uYW1lICJ1cGRhdGUtZ2FtZS1zY29yZSIgZXhlYy1kaXJlY3Rvcnkp Ci0JIG5pbCBlcnJidWYgbmlsCi0JICItbSIgKGludC10by1zdHJpbmcgZ2FtZWdyaWQtc2Nv cmUtZmlsZS1sZW5ndGgpCi0JICItZCIgKGlmIGdhbWVncmlkLXNoYXJlZC1nYW1lLWRpcgot CQkgIChleHBhbmQtZmlsZS1uYW1lIHNoYXJlZC1nYW1lLXNjb3JlLWRpcmVjdG9yeSkKLQkJ KGZpbGUtbmFtZS1kaXJlY3RvcnkgdGFyZ2V0KSkKLQkgZmlsZQotCSAoaW50LXRvLXN0cmlu ZyBzY29yZSkKLQkgbWFya2VyLXN0cmluZykpKSkKLSAgICAoaWYgKGJ1ZmZlci1tb2RpZmll ZC1wIGVycmJ1ZikKLQkocHJvZ24KLQkgIChkaXNwbGF5LWJ1ZmZlciBlcnJidWYpCi0JICAo ZXJyb3IgIkZhaWxlZCB0byB1cGRhdGUgZ2FtZSBzY29yZSBmaWxlIikpCi0gICAgICAoa2ls bC1idWZmZXIgZXJyYnVmKSkKLSAgICAobGV0ICgoYnVmIChmaW5kLWJ1ZmZlci12aXNpdGlu ZyB0YXJnZXQpKSkKLSAgICAgIChzYXZlLWV4Y3Vyc2lvbgotICAgICAgICAoaWYgYnVmCi0J ICAgIChwcm9nbgotCSAgICAgIChzd2l0Y2gtdG8tYnVmZmVyIGJ1ZikKLQkgICAgICAocmV2 ZXJ0LWJ1ZmZlciBuaWwgdCBuaWwpCi0JICAgICAgKGRpc3BsYXktYnVmZmVyIGJ1ZikpCi0J ICAoZmluZC1maWxlLXJlYWQtb25seSB0YXJnZXQpKQotICAgICAgICAoZ290by1jaGFyIChw b2ludC1taW4pKQotICAgICAgICAoc2VhcmNoLWZvcndhcmQgKGNvbmNhdCAoaW50LXRvLXN0 cmluZyBzY29yZSkKLQkJCQkiICIgKHVzZXItbG9naW4tbmFtZSkgIiAiCi0JCQkJbWFya2Vy LXN0cmluZykgbmlsIHQpCi0gICAgICAgIChiZWdpbm5pbmctb2YtbGluZSkpKSkpCisgIChn YW1lZ3JpZC1hZGQtc2NvcmUtd2l0aC11cGRhdGUtZ2FtZS1zY29yZSB0YXJnZXQgc2NvcmUp KQorKG1ha2Utb2Jzb2xldGUgJ2dhbWVncmlkLWFkZC1zY29yZS13aXRoLXVwZGF0ZS1nYW1l LXNjb3JlLTEKKyAgICAgICAgICAgICAgICdnYW1lZ3JpZC1hZGQtc2NvcmUtd2l0aC11cGRh dGUtZ2FtZS1zY29yZSAiMjYuMSIpCiAKIChkZWZ1biBnYW1lZ3JpZC1hZGQtc2NvcmUtaW5z ZWN1cmUgKGZpbGUgc2NvcmUgJm9wdGlvbmFsIGRpcmVjdG9yeSkKICAgKHNhdmUtZXhjdXJz aW9uCmRpZmYgLS1naXQgYS9saXNwL3N1YnIuZWwgYi9saXNwL3N1YnIuZWwKaW5kZXggNmIw NDAzOC4uZjczNTU1NiAxMDA2NDQKLS0tIGEvbGlzcC9zdWJyLmVsCisrKyBiL2xpc3Avc3Vi ci5lbApAQCAtMTQ1NCw2ICsxNDU0LDcgQEAgJ3VuZm9jdXMtZnJhbWUKIAogKG1ha2Utb2Jz b2xldGUtdmFyaWFibGUgJ2NvbW1hbmQtZGVidWctc3RhdHVzCiAgICAgICAgICAgICAgICAg ICAgICAgICAiZXhwZWN0IGl0IHRvIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi4i ICIyNS4yIikKKyhtYWtlLW9ic29sZXRlLXZhcmlhYmxlICdzaGFyZWQtZ2FtZS1zY29yZS1k aXJlY3RvcnkgbmlsICIyNi4xIikKIAogOzsgTGlzcCBtYW51YWwgb25seSB1cGRhdGVkIGlu IDIyLjEuCiAoZGVmaW5lLW9ic29sZXRlLXZhcmlhYmxlLWFsaWFzICdleGVjdXRpbmctbWFj cm8gJ2V4ZWN1dGluZy1rYmQtbWFjcm8KZGlmZiAtLWdpdCBhL21ha2UtZGlzdCBiL21ha2Ut ZGlzdAppbmRleCA0MTIwM2IyLi5lODVhMmQ2IDEwMDc1NQotLS0gYS9tYWtlLWRpc3QKKysr IGIvbWFrZS1kaXN0CkBAIC00NTksNyArNDU5LDYgQEAgZmlsZXM9CiAgbG4gW2EtekEtWl0q LltjaF0gLi4vJHt0ZW1wZGlyfS9saWItc3JjCiAgbG4gQ2hhbmdlTG9nLipbMC05XSBNYWtl ZmlsZS5pbiBSRUFETUUgLi4vJHt0ZW1wZGlyfS9saWItc3JjCiAgbG4gcmNzMmxvZyAuLi8k e3RlbXBkaXJ9L2xpYi1zcmMKLSBsbiB1cGRhdGUtZ2FtZS1zY29yZS5leGUubWFuaWZlc3Qg Li4vJHt0ZW1wZGlyfS9saWItc3JjKQogCiBlY2hvICJNYWtpbmcgbGlua3MgdG8gJ200JyIK IChjZCBtNApkaWZmIC0tZ2l0IGEvc3JjL2NhbGxwcm9jLmMgYi9zcmMvY2FsbHByb2MuYwpp bmRleCAwOGZhNmU5Li45ODM2OWJhIDEwMDY0NAotLS0gYS9zcmMvY2FsbHByb2MuYworKysg Yi9zcmMvY2FsbHByb2MuYwpAQCAtMTU4MywxNCArMTU4Myw2IEBAIGluaXRfY2FsbHByb2Mg KHZvaWQpCiAKICAgc2ggPSBnZXRlbnYgKCJTSEVMTCIpOwogICBWc2hlbGxfZmlsZV9uYW1l ID0gYnVpbGRfc3RyaW5nIChzaCA/IHNoIDogIi9iaW4vc2giKTsKLQotI2lmZGVmIERPU19O VAotICBWc2hhcmVkX2dhbWVfc2NvcmVfZGlyZWN0b3J5ID0gUW5pbDsKLSNlbHNlCi0gIFZz aGFyZWRfZ2FtZV9zY29yZV9kaXJlY3RvcnkgPSBidWlsZF91bmlieXRlX3N0cmluZyAoUEFU SF9HQU1FKTsKLSAgaWYgKE5JTFAgKEZmaWxlX2FjY2Vzc2libGVfZGlyZWN0b3J5X3AgKFZz aGFyZWRfZ2FtZV9zY29yZV9kaXJlY3RvcnkpKSkKLSAgICBWc2hhcmVkX2dhbWVfc2NvcmVf ZGlyZWN0b3J5ID0gUW5pbDsKLSNlbmRpZgogfQogCiB2b2lkCkBAIC0xNjYxLDExICsxNjUz LDcgQEAgaW5jbHVkZXMgdGhpcy4gICovKTsKICAgREVGVkFSX0xJU1AgKCJzaGFyZWQtZ2Ft ZS1zY29yZS1kaXJlY3RvcnkiLCBWc2hhcmVkX2dhbWVfc2NvcmVfZGlyZWN0b3J5LAogCSAg ICAgICBkb2M6IC8qIERpcmVjdG9yeSBvZiBzY29yZSBmaWxlcyBmb3IgZ2FtZXMgd2hpY2gg Y29tZSB3aXRoIEdOVSBFbWFjcy4KIElmIHRoaXMgdmFyaWFibGUgaXMgbmlsLCB0aGVuIEVt YWNzIGlzIHVuYWJsZSB0byB1c2UgYSBzaGFyZWQgZGlyZWN0b3J5LiAgKi8pOwotI2lmZGVm IERPU19OVAogICBWc2hhcmVkX2dhbWVfc2NvcmVfZGlyZWN0b3J5ID0gUW5pbDsKLSNlbHNl Ci0gIFZzaGFyZWRfZ2FtZV9zY29yZV9kaXJlY3RvcnkgPSBidWlsZF9zdHJpbmcgKFBBVEhf R0FNRSk7Ci0jZW5kaWYKIAogICBERUZWQVJfTElTUCAoImluaXRpYWwtZW52aXJvbm1lbnQi LCBWaW5pdGlhbF9lbnZpcm9ubWVudCwKIAkgICAgICAgZG9jOiAvKiBMaXN0IG9mIGVudmly b25tZW50IHZhcmlhYmxlcyBpbmhlcml0ZWQgZnJvbSB0aGUgcGFyZW50IHByb2Nlc3MuCmRp ZmYgLS1naXQgYS9zcmMvZXBhdGhzLmluIGIvc3JjL2VwYXRocy5pbgppbmRleCBjNDkxZDNi Li5mZDYxMDI5IDEwMDY0NAotLS0gYS9zcmMvZXBhdGhzLmluCisrKyBiL3NyYy9lcGF0aHMu aW4KQEAgLTcwLDkgKzcwLDUgQEAgYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLwogICAgbWFjcm8sIGFuZCBp cyB0aGVuIHVzZWQgdG8gc2V0IHRoZSBJbmZvLWRlZmF1bHQtZGlyZWN0b3J5LWxpc3QuICAq LwogI2RlZmluZSBQQVRIX0lORk8gIi91c3IvbG9jYWwvc2hhcmUvaW5mbyIKIAotLyogV2hl cmUgRW1hY3Mgc2hvdWxkIHN0b3JlIGdhbWUgc2NvcmUgZmlsZXMuICAqLwotI2RlZmluZSBQ QVRIX0dBTUUgIi91c3IvbG9jYWwvdmFyL2dhbWVzL2VtYWNzIgotCiAvKiBXaGVyZSBFbWFj cyBzaG91bGQgbG9vayBmb3IgdGhlIGFwcGxpY2F0aW9uIGRlZmF1bHQgZmlsZS4gKi8KICNk ZWZpbmUgUEFUSF9YX0RFRkFVTFRTICIvdXNyL2xpYi9YMTEvJUwvJVQvJU4lQyVTOi91c3Iv bGliL1gxMS8lbC8lVC8lTiVDJVM6L3Vzci9saWIvWDExLyVULyVOJUMlUzovdXNyL2xpYi9Y MTEvJUwvJVQvJU4lUzovdXNyL2xpYi9YMTEvJWwvJVQvJU4lUzovdXNyL2xpYi9YMTEvJVQv JU4lUyIKLQotLSAKMi45LjMKCg== --------------506A1769884E7324D079DB53--