From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS22989 209.51.188.0/24 X-Spam-Status: No, score=-3.4 required=3.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,NICE_REPLY_A,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H2, SPF_HELO_PASS,SPF_PASS shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dcvr.yhbt.net (Postfix) with ESMTPS id 59EF01F910 for ; Thu, 3 Nov 2022 01:19:03 +0000 (UTC) Authentication-Results: dcvr.yhbt.net; dkim=pass (1024-bit key; unprotected) header.d=cs.ucla.edu header.i=@cs.ucla.edu header.b="Fq3qczH8"; dkim-atps=neutral Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oqOsW-0000ib-RW; Wed, 02 Nov 2022 21:18:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oqOsQ-0000iA-B6 for bug-gnulib@gnu.org; Wed, 02 Nov 2022 21:18:38 -0400 Received: from zimbra.cs.ucla.edu ([131.179.128.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oqOsM-0008DB-A7 for bug-gnulib@gnu.org; Wed, 02 Nov 2022 21:18:37 -0400 Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 74788160047; Wed, 2 Nov 2022 18:18:30 -0700 (PDT) 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 fB8b9ZCsD--8; Wed, 2 Nov 2022 18:18:27 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 9ED38160049; Wed, 2 Nov 2022 18:18:27 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.9.2 zimbra.cs.ucla.edu 9ED38160049 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=78364E5A-2AF3-11ED-87FA-8298ECA2D365; t=1667438307; bh=IvJ79Uh/tbLEd1hzHRnlzxf/oLAEhpZw6vwAThH468U=; h=Content-Type:Message-ID:Date:MIME-Version:Subject:To:From; b=Fq3qczH8ab8xGzSnHLfsDTm4mv2xyUlBTXv4APqxqCKQJf2fH3m7FU14aqapBvp1Q LUgpHgooY5Cde1wbEOKkNJ3/6vFc4va8uYX1/M8qCkBx3jB4E3cunZyIlyRa8GStvU F0lRRJ6dnjwfT5azLC2r2eVnXuWelwvlkG51HL7c= X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu 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 WPrxxqGIsmyc; Wed, 2 Nov 2022 18:18:27 -0700 (PDT) Received: from [131.179.64.200] (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 6D679160047; Wed, 2 Nov 2022 18:18:27 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------NABJTRhxV02PakMnY4W0p5FO" Message-ID: <37ceea2b-7140-74e5-7013-3dbfc4b0fe57@cs.ucla.edu> Date: Wed, 2 Nov 2022 18:18:27 -0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.0 Subject: Re: scratch_buffer.h, scratch_buffer_dupfree.c sync Content-Language: en-US To: Karl Berry References: <202211022237.2A2Mb6uK000339@freefriends.org> Cc: Gnulib bugs From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <202211022237.2A2Mb6uK000339@freefriends.org> Received-SPF: pass client-ip=131.179.128.68; envelope-from=eggert@cs.ucla.edu; helo=zimbra.cs.ucla.edu X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: bug-gnulib@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gnulib discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "bug-gnulib" Errors-To: bug-gnulib-bounces+normalperson=yhbt.net@gnu.org This is a multi-part message in MIME format. --------------NABJTRhxV02PakMnY4W0p5FO Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 11/2/22 15:37, Karl Berry wrote: > 1) LIBC/include/scratch_buffer.h has introduced some substantial changes > over GNULIB/lib/malloc/scratch_buffer.h. I'm not sure if it is safe > to sync them any more. Especially because: > > 2) LIBC/nalloc/scratch_buffer_dupfree.c no longer exists. There is no > such file in libc any more. Yes, it's a nontrivial merge. However, I think we can still sync LIBC/include/scratch_buffer.h. I installed the attached patch; please let me know of any further problems in this area. --------------NABJTRhxV02PakMnY4W0p5FO Content-Type: text/x-patch; charset=UTF-8; name="0001-scratch_buffer-adjust-to-glibc-changes.patch" Content-Disposition: attachment; filename="0001-scratch_buffer-adjust-to-glibc-changes.patch" Content-Transfer-Encoding: base64 RnJvbSBkZGZjYmM5NWE2YmUzZGRjNTg4YTkzZjIxZWRiNjljYzdjMjE0ZDljIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBXZWQsIDIgTm92IDIwMjIgMTg6MTQ6MTUgLTA3MDAKU3ViamVjdDogW1BBVENI XSBzY3JhdGNoX2J1ZmZlcjogYWRqdXN0IHRvIGdsaWJjIGNoYW5nZXMKClByb2JsZW0gcmVw b3J0ZWQgYnkgS2FybCBCZXJyeSBpbjoKaHR0cHM6Ly9saXN0cy5nbnUub3JnL3IvYnVnLWdu dWxpYi8yMDIyLTExL21zZzAwMDA0Lmh0bWwKKiBidWlsZC1hdXgvZGVwY29tcCwgZG9jL21h a2Utc3Rkcy50ZXhpLCBsaWIvbWFsbG9jL3NjcmF0Y2hfYnVmZmVyLmg6CkF1dG91cGRhdGUu CiogYnVpbGQtYXV4L2luc3RhbGwtcmVsb2MgKGZ1bmNfY3JlYXRlX3dyYXBwZXIpOgpPbWl0 IHJlbW92ZWQgZmlsZSBzY3JhdGNoX2J1ZmZlcl9kdXBmcmVlLmMuCiogY29uZmlnL3NyY2xp c3QudHh0OiBSZW1vdmUgbGliL21hbGxvYy9zY3JhdGNoX2J1ZmZlcl9kdXBmcmVlLmMKKiBs aWIvY2Fub25pY2FsaXplLWxncGwuYzogTWVyZ2UgY2hhbmdlcyBmcm9tIGdsaWJjIHRocm91 Z2ggaXRzCmNvbW1pdCBlZjA3MDAwMDRiZjBkY2NmNDkzYTVlOGUyMWY3MWQ5ZTc5NzJlYTlm IGRhdGVkIDIwMjItMDctMDUKMTE6MDQ6NDUgKzAyMDAuCihfX3N0cmR1cCkgWyFfTElCQ106 IE5ldyBtYWNyby4KKHN0cnVjdCByZWFscGF0aF9idWZzKTogTmV3IHR5cGUuCihyZWFscGF0 aF9zdGspOiBVc2UgaXQgYXMgdGhlIGV4dHJhIGFyZ3VtZW50LiAgQWxsIHVzZXMgY2hhbmdl ZC4KTm8gbG9uZ2VyIGFueSBuZWVkIGZvciBub2lubGluZSBvciBHQ0NfQk9HVVNfV1JFVFVS Tl9MT0NBTF9BRERSLgoqIGxpYi9jYW5vbmljYWxpemUuYyAoc3RydWN0IHJlYWxwYXRoX2J1 ZnMpCihjYW5vbmljYWxpemVfZmlsZW5hbWVfbW9kZV9zdGspOiBMaWtld2lzZS4KKiBsaWIv bWFsbG9jL3NjcmF0Y2hfYnVmZmVyX2R1cGZyZWUuYzoKUmVtb3ZlLCBzaW5jZSBpdCB3YXMg cmVtb3ZlZCBpbiBnbGliYy4KKiBsaWIvc2NyYXRjaF9idWZmZXIuaCAoc2NyYXRjaF9idWZm ZXJfZHVwZnJlZSkgWzBdOgooX19saWJjX3NjcmF0Y2hfYnVmZmVyX2R1cGZyZWUpOiBSZW1v dmUgZGVjbHMuCiogbW9kdWxlcy9yZWxvY2F0YWJsZS1wcm9nLXdyYXBwZXIgKEZpbGVzKToK KiBtb2R1bGVzL3NjcmF0Y2hfYnVmZmVyIChGaWxlcywgbGliX1NPVVJDRVMpOgpSZW1vdmUg bGliL21hbGxvYy9zY3JhdGNoX2J1ZmZlcl9kdXBmcmVlLmMuCi0tLQogQ2hhbmdlTG9nICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjcgKysrKysrCiBidWlsZC1hdXgvZGVwY29t cCAgICAgICAgICAgICAgICAgICB8ICAgNCArLQogYnVpbGQtYXV4L2luc3RhbGwtcmVsb2Mg ICAgICAgICAgICAgfCAgIDIgLQogY29uZmlnL3NyY2xpc3QudHh0ICAgICAgICAgICAgICAg ICAgfCAgIDEgLQogZG9jL21ha2Utc3Rkcy50ZXhpICAgICAgICAgICAgICAgICAgfCAgIDQg Ky0KIGxpYi9jYW5vbmljYWxpemUtbGdwbC5jICAgICAgICAgICAgIHwgMTIyICsrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0KIGxpYi9jYW5vbmljYWxpemUuYyAgICAgICAgICAgICAg ICAgIHwgIDkxICsrKysrKysrKy0tLS0tLS0tLS0tLQogbGliL21hbGxvYy9zY3JhdGNoX2J1 ZmZlci5oICAgICAgICAgfCAgMTYgLS0tLQogbGliL21hbGxvYy9zY3JhdGNoX2J1ZmZlcl9k dXBmcmVlLmMgfCAgNDEgLS0tLS0tLS0tLQogbGliL3NjcmF0Y2hfYnVmZmVyLmggICAgICAg ICAgICAgICAgfCAgMTAgLS0tCiBtb2R1bGVzL3JlbG9jYXRhYmxlLXByb2ctd3JhcHBlciAg ICB8ICAgMSAtCiBtb2R1bGVzL3NjcmF0Y2hfYnVmZmVyICAgICAgICAgICAgICB8ICAgNCAr LQogMTIgZmlsZXMgY2hhbmdlZCwgMTI5IGluc2VydGlvbnMoKyksIDE5NCBkZWxldGlvbnMo LSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBsaWIvbWFsbG9jL3NjcmF0Y2hfYnVmZmVyX2R1cGZy ZWUuYwoKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAzZGM3ZDg5 NjZmLi4wZGVmZTI0NjllIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9n CkBAIC0xLDMgKzEsMzAgQEAKKzIwMjItMTEtMDIgIFBhdWwgRWdnZXJ0ICA8ZWdnZXJ0QGNz LnVjbGEuZWR1PgorCisJc2NyYXRjaF9idWZmZXI6IGFkanVzdCB0byBnbGliYyBjaGFuZ2Vz CisJUHJvYmxlbSByZXBvcnRlZCBieSBLYXJsIEJlcnJ5IGluOgorCWh0dHBzOi8vbGlzdHMu Z251Lm9yZy9yL2J1Zy1nbnVsaWIvMjAyMi0xMS9tc2cwMDAwNC5odG1sCisJKiBidWlsZC1h dXgvZGVwY29tcCwgZG9jL21ha2Utc3Rkcy50ZXhpLCBsaWIvbWFsbG9jL3NjcmF0Y2hfYnVm ZmVyLmg6CisJQXV0b3VwZGF0ZS4KKwkqIGJ1aWxkLWF1eC9pbnN0YWxsLXJlbG9jIChmdW5j X2NyZWF0ZV93cmFwcGVyKToKKwlPbWl0IHJlbW92ZWQgZmlsZSBzY3JhdGNoX2J1ZmZlcl9k dXBmcmVlLmMuCisJKiBjb25maWcvc3JjbGlzdC50eHQ6IFJlbW92ZSBsaWIvbWFsbG9jL3Nj cmF0Y2hfYnVmZmVyX2R1cGZyZWUuYworCSogbGliL2Nhbm9uaWNhbGl6ZS1sZ3BsLmM6IE1l cmdlIGNoYW5nZXMgZnJvbSBnbGliYyB0aHJvdWdoIGl0cworCWNvbW1pdCBlZjA3MDAwMDRi ZjBkY2NmNDkzYTVlOGUyMWY3MWQ5ZTc5NzJlYTlmIGRhdGVkIDIwMjItMDctMDUKKwkxMTow NDo0NSArMDIwMC4KKwkoX19zdHJkdXApIFshX0xJQkNdOiBOZXcgbWFjcm8uCisJKHN0cnVj dCByZWFscGF0aF9idWZzKTogTmV3IHR5cGUuCisJKHJlYWxwYXRoX3N0ayk6IFVzZSBpdCBh cyB0aGUgZXh0cmEgYXJndW1lbnQuICBBbGwgdXNlcyBjaGFuZ2VkLgorCU5vIGxvbmdlciBh bnkgbmVlZCBmb3Igbm9pbmxpbmUgb3IgR0NDX0JPR1VTX1dSRVRVUk5fTE9DQUxfQUREUi4K KwkqIGxpYi9jYW5vbmljYWxpemUuYyAoc3RydWN0IHJlYWxwYXRoX2J1ZnMpCisJKGNhbm9u aWNhbGl6ZV9maWxlbmFtZV9tb2RlX3N0ayk6IExpa2V3aXNlLgorCSogbGliL21hbGxvYy9z Y3JhdGNoX2J1ZmZlcl9kdXBmcmVlLmM6CisJUmVtb3ZlLCBzaW5jZSBpdCB3YXMgcmVtb3Zl ZCBpbiBnbGliYy4KKwkqIGxpYi9zY3JhdGNoX2J1ZmZlci5oIChzY3JhdGNoX2J1ZmZlcl9k dXBmcmVlKSBbMF06CisJKF9fbGliY19zY3JhdGNoX2J1ZmZlcl9kdXBmcmVlKTogUmVtb3Zl IGRlY2xzLgorCSogbW9kdWxlcy9yZWxvY2F0YWJsZS1wcm9nLXdyYXBwZXIgKEZpbGVzKToK KwkqIG1vZHVsZXMvc2NyYXRjaF9idWZmZXIgKEZpbGVzLCBsaWJfU09VUkNFUyk6CisJUmVt b3ZlIGxpYi9tYWxsb2Mvc2NyYXRjaF9idWZmZXJfZHVwZnJlZS5jLgorCiAyMDIyLTExLTAx ICBCcnVubyBIYWlibGUgIDxicnVub0BjbGlzcC5vcmc+CiAKIAlyZWxvY2F0YWJsZS1zY3Jp cHQ6IFJlbGF4IGxpY2Vuc2UuCmRpZmYgLS1naXQgYS9idWlsZC1hdXgvZGVwY29tcCBiL2J1 aWxkLWF1eC9kZXBjb21wCmluZGV4IDc1MzIzYjczOTIuLjcwM2VlZDI3NTAgMTAwNzU1Ci0t LSBhL2J1aWxkLWF1eC9kZXBjb21wCisrKyBiL2J1aWxkLWF1eC9kZXBjb21wCkBAIC0xLDcg KzEsNyBAQAogIyEgL2Jpbi9zaAogIyBkZXBjb21wIC0gY29tcGlsZSBhIHByb2dyYW0gZ2Vu ZXJhdGluZyBkZXBlbmRlbmNpZXMgYXMgc2lkZS1lZmZlY3RzCiAKLXNjcmlwdHZlcnNpb249 MjAxOC0wMy0wNy4wMzsgIyBVVEMKK3NjcmlwdHZlcnNpb249MjAyMi0wOS0xOC4xNDsgIyBV VEMKIAogIyBDb3B5cmlnaHQgKEMpIDE5OTktMjAyMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIEluYy4KIApAQCAtMTk3LDcgKzE5Nyw3IEBAIGdjYzMpCiAgIDs7CiAKIGdjYykKLSMj IE5vdGUgdGhhdCB0aGlzIGRvZXNuJ3QganVzdCBjYXRlciB0byBvYnNvc2V0ZSBwcmUtMy54 IEdDQyBjb21waWxlcnMuCisjIyBOb3RlIHRoYXQgdGhpcyBkb2Vzbid0IGp1c3QgY2F0ZXIg dG8gb2Jzb2xldGUgcHJlLTMueCBHQ0MgY29tcGlsZXJzLgogIyMgYnV0IGFsc28gdG8gaW4t dXNlIGNvbXBpbGVycyBsaWtlIElNQiB4bGMveGxDIGFuZCB0aGUgSFAgQyBjb21waWxlci4K ICMjIChzZWUgdGhlIGNvbmRpdGlvbmFsIGFzc2lnbm1lbnQgdG8gJGdjY2ZsYWcgYWJvdmUp LgogIyMgVGhlcmUgYXJlIHZhcmlvdXMgd2F5cyB0byBnZXQgZGVwZW5kZW5jeSBvdXRwdXQg ZnJvbSBnY2MuICBIZXJlJ3MKZGlmZiAtLWdpdCBhL2J1aWxkLWF1eC9pbnN0YWxsLXJlbG9j IGIvYnVpbGQtYXV4L2luc3RhbGwtcmVsb2MKaW5kZXggNjNhZWI5YWYxYy4uMjI3Mzk2ODFh ZSAxMDA3NTUKLS0tIGEvYnVpbGQtYXV4L2luc3RhbGwtcmVsb2MKKysrIGIvYnVpbGQtYXV4 L2luc3RhbGwtcmVsb2MKQEAgLTIzNyw3ICsyMzcsNiBAQCBmdW5jX2NyZWF0ZV93cmFwcGVy ICgpCiAgICAgICAgICAgICAgICAiJHNyY2RpciIvcmVhZGxpbmsuYyBcCiAgICAgICAgICAg ICAgICAiJHNyY2RpciIvc3RhdC5jIFwKICAgICAgICAgICAgICAgICIkc3JjZGlyIi9jYW5v bmljYWxpemUtbGdwbC5jIFwKLSAgICAgICAgICAgICAgICIkc3JjZGlyIi9tYWxsb2Mvc2Ny YXRjaF9idWZmZXJfZHVwZnJlZS5jIFwKICAgICAgICAgICAgICAgICIkc3JjZGlyIi9tYWxs b2Mvc2NyYXRjaF9idWZmZXJfZ3Jvdy5jIFwKICAgICAgICAgICAgICAgICIkc3JjZGlyIi9t YWxsb2Mvc2NyYXRjaF9idWZmZXJfZ3Jvd19wcmVzZXJ2ZS5jIFwKICAgICAgICAgICAgICAg ICIkc3JjZGlyIi9tYWxsb2Mvc2NyYXRjaF9idWZmZXJfc2V0X2FycmF5X3NpemUuYyBcCkBA IC0yNjMsNyArMjYyLDYgQEAgZnVuY19jcmVhdGVfd3JhcHBlciAoKQogICAgICAgICByZWFk bGluay5vIFwKICAgICAgICAgc3RhdC5vIFwKICAgICAgICAgY2Fub25pY2FsaXplLWxncGwu byBcCi0gICAgICAgIHNjcmF0Y2hfYnVmZmVyX2R1cGZyZWUubyBcCiAgICAgICAgIHNjcmF0 Y2hfYnVmZmVyX2dyb3cubyBcCiAgICAgICAgIHNjcmF0Y2hfYnVmZmVyX2dyb3dfcHJlc2Vy dmUubyBcCiAgICAgICAgIHNjcmF0Y2hfYnVmZmVyX3NldF9hcnJheV9zaXplLm8gXApkaWZm IC0tZ2l0IGEvY29uZmlnL3NyY2xpc3QudHh0IGIvY29uZmlnL3NyY2xpc3QudHh0CmluZGV4 IGI0ZTM2ODQ1YmUuLmJmZjZhMDJkOGUgMTAwNjQ0Ci0tLSBhL2NvbmZpZy9zcmNsaXN0LnR4 dAorKysgYi9jb25maWcvc3JjbGlzdC50eHQKQEAgLTU5LDcgKzU5LDYgQEAgJExJQkNTUkMg aW5jbHVkZS9maWxlbmFtZS5oCQlsaWIKICMkTElCQ1NSQyBtYWxsb2MvZHluYXJyYXlfcmVz aXplLmMJbGliL21hbGxvYwogIyRMSUJDU1JDIG1hbGxvYy9keW5hcnJheV9yZXNpemVfY2xl YXIuYwlsaWIvbWFsbG9jCiAkTElCQ1NSQyBpbmNsdWRlL3NjcmF0Y2hfYnVmZmVyLmgJbGli L21hbGxvYwotJExJQkNTUkMgbWFsbG9jL3NjcmF0Y2hfYnVmZmVyX2R1cGZyZWUuYwlsaWIv bWFsbG9jCiAkTElCQ1NSQyBtYWxsb2Mvc2NyYXRjaF9idWZmZXJfZ3Jvdy5jCWxpYi9tYWxs b2MKICRMSUJDU1JDIG1hbGxvYy9zY3JhdGNoX2J1ZmZlcl9ncm93X3ByZXNlcnZlLmMJbGli L21hbGxvYwogJExJQkNTUkMgbWFsbG9jL3NjcmF0Y2hfYnVmZmVyX3NldF9hcnJheV9zaXpl LmMJbGliL21hbGxvYwpkaWZmIC0tZ2l0IGEvZG9jL21ha2Utc3Rkcy50ZXhpIGIvZG9jL21h a2Utc3Rkcy50ZXhpCmluZGV4IGIwNzQ1YThhM2UuLjEzMjQ3NmM3YTMgMTAwNjQ0Ci0tLSBh L2RvYy9tYWtlLXN0ZHMudGV4aQorKysgYi9kb2MvbWFrZS1zdGRzLnRleGkKQEAgLTE2MCw3 ICsxNjAsNyBAQCBpbnN0YWxsYXRpb24gc2hvdWxkIG5vdCB1c2UgYW55IHV0aWxpdGllcyBk aXJlY3RseSBleGNlcHQgdGhlc2U6CiBAYyBta2ZpZm8gbWtub2QgdGVlIHVuYW1lCiAKIEBl eGFtcGxlCi1hd2sgY2F0IGNtcCBjcCBkaWZmIGVjaG8gZWdyZXAgZXhwciBmYWxzZSBncmVw IGluc3RhbGwtaW5mbyBsbiBscworYXdrIGNhdCBjbXAgY3AgZGlmZiBlY2hvIGV4cHIgZmFs c2UgZ3JlcCBpbnN0YWxsLWluZm8gbG4gbHMKIG1rZGlyIG12IHByaW50ZiBwd2Qgcm0gcm1k aXIgc2VkIHNsZWVwIHNvcnQgdGFyIHRlc3QgdG91Y2ggdHIgdHJ1ZQogQGVuZCBleGFtcGxl CiAKQEAgLTExMzUsNyArMTEzNSw3IEBAIHByb2dyYW1zIGV4Y2VwdCBmb3IgdGhlc2U6CiAK IEBleGFtcGxlCiBbIGJhc2VuYW1lIGJhc2ggY2F0IGNoZ3JwIGNobW9kIGNob3duIGNtcCBj cCBkZCBkaWZmIGVjaG8KLWVncmVwIGV4cGFuZCBleHByIGZhbHNlIGZncmVwIGZpbmQgZ2V0 b3B0IGdyZXAgZ3VuemlwIGd6aXAKK2V4cGFuZCBleHByIGZhbHNlIGZpbmQgZ2V0b3B0IGdy ZXAgZ3VuemlwIGd6aXAKIGhvc3RuYW1lIGluc3RhbGwgaW5zdGFsbC1pbmZvIGtpbGwgbGRj b25maWcgbG4gbHMgbWQ1c3VtCiBta2RpciBta2ZpZm8gbWtub2QgbXYgcHJpbnRlbnYgcHdk IHJtIHJtZGlyIHNlZCBzb3J0IHRlZQogdGVzdCB0b3VjaCB0cnVlIHVuYW1lIHhhcmdzIHll cwpkaWZmIC0tZ2l0IGEvbGliL2Nhbm9uaWNhbGl6ZS1sZ3BsLmMgYi9saWIvY2Fub25pY2Fs aXplLWxncGwuYwppbmRleCA4YzNkN2Y3Y2Y4Li44NzBhNjYzNTA1IDEwMDY0NAotLS0gYS9s aWIvY2Fub25pY2FsaXplLWxncGwuYworKysgYi9saWIvY2Fub25pY2FsaXplLWxncGwuYwpA QCAtNDcsNiArNDcsNyBAQAogI2Vsc2UKICMgZGVmaW5lIF9fY2Fub25pY2FsaXplX2ZpbGVf bmFtZSBjYW5vbmljYWxpemVfZmlsZV9uYW1lCiAjIGRlZmluZSBfX3JlYWxwYXRoIHJlYWxw YXRoCisjIGRlZmluZSBfX3N0cmR1cCBzdHJkdXAKICMgaW5jbHVkZSAicGF0aG1heC5oIgog IyBkZWZpbmUgX19mYWNjZXNzYXQgZmFjY2Vzc2F0CiAjIGlmIGRlZmluZWQgX1dJTjMyICYm ICFkZWZpbmVkIF9fQ1lHV0lOX18KQEAgLTE3OSwyNyArMTgwLDE2IEBAIGdldF9wYXRoX21h eCAodm9pZCkKICAgcmV0dXJuIHBhdGhfbWF4IDwgMCA/IDEwMjQgOiBwYXRoX21heCA8PSBJ RFhfTUFYID8gcGF0aF9tYXggOiBJRFhfTUFYOwogfQogCi0vKiBBY3QgbGlrZSBfX3JlYWxw YXRoIChzZWUgYmVsb3cpLCB3aXRoIGFuIGFkZGl0aW9uYWwgYXJndW1lbnQKLSAgIHJuYW1l X2J1ZiB0aGF0IGNhbiBiZSB1c2VkIGFzIHRlbXBvcmFyeSBzdG9yYWdlLgotCi0gICBJZiBH Q0NfTElOVCBpcyBkZWZpbmVkLCBkbyBub3QgaW5saW5lIHRoaXMgZnVuY3Rpb24gd2l0aCBH Q0MgMTAuMQotICAgYW5kIGxhdGVyLCB0byBhdm9pZCBjcmVhdGluZyBhIHBvaW50ZXIgdG8g dGhlIHN0YWNrIHRoYXQgR0NDCi0gICAtV3JldHVybi1sb2NhbC1hZGRyIGluY29ycmVjdGx5 IGNvbXBsYWlucyBhYm91dC4gIFNlZToKLSAgIGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemls bGEvc2hvd19idWcuY2dpP2lkPTkzNjQ0Ci0gICBBbHRob3VnaCB0aGUgbm9pbmxpbmUgYXR0 cmlidXRlIGNhbiBodXJ0IHBlcmZvcm1hbmNlIGEgYml0LCBubyBiZXR0ZXIgd2F5Ci0gICB0 byBwYWNpZnkgR0NDIGlzIGtub3duOyBldmVuIGFuIGV4cGxpY2l0ICNwcmFnbWEgZG9lcyBu b3QgcGFjaWZ5IEdDQy4KLSAgIFdoZW4gdGhlIEdDQyBidWcgaXMgZml4ZWQgdGhpcyB3b3Jr YXJvdW5kIHNob3VsZCBiZSBsaW1pdGVkIHRvIHRoZQotICAgYnJva2VuIEdDQyB2ZXJzaW9u cy4gICovCi0jIGlmIF9fR05VQ19QUkVSRVEgKDEwLCAxKQotIyAgaWYgZGVmaW5lZCBHQ0Nf TElOVCB8fCBkZWZpbmVkIGxpbnQKLV9fYXR0cmlidXRlX18gKChfX25vaW5saW5lX18pKQot IyAgZWxpZiBfX09QVElNSVpFX18gJiYgIV9fTk9fSU5MSU5FX18KLSMgICBkZWZpbmUgR0ND X0JPR1VTX1dSRVRVUk5fTE9DQUxfQUREUgotIyAgZW5kaWYKLSMgZW5kaWYKKy8qIFNjcmF0 Y2ggYnVmZmVycyB1c2VkIGJ5IHJlYWxwYXRoX3N0ayBhbmQgbWFuYWdlZCBieSBfX3JlYWxw YXRoLiAgKi8KK3N0cnVjdCByZWFscGF0aF9idWZzCit7CisgIHN0cnVjdCBzY3JhdGNoX2J1 ZmZlciBybmFtZTsKKyAgc3RydWN0IHNjcmF0Y2hfYnVmZmVyIGV4dHJhOworICBzdHJ1Y3Qg c2NyYXRjaF9idWZmZXIgbGluazsKK307CisKIHN0YXRpYyBjaGFyICoKLXJlYWxwYXRoX3N0 ayAoY29uc3QgY2hhciAqbmFtZSwgY2hhciAqcmVzb2x2ZWQsCi0gICAgICAgICAgICAgIHN0 cnVjdCBzY3JhdGNoX2J1ZmZlciAqcm5hbWVfYnVmKQorcmVhbHBhdGhfc3RrIChjb25zdCBj aGFyICpuYW1lLCBjaGFyICpyZXNvbHZlZCwgc3RydWN0IHJlYWxwYXRoX2J1ZnMgKmJ1ZnMp CiB7CiAgIGNoYXIgKmRlc3Q7CiAgIGNoYXIgY29uc3QgKnN0YXJ0OwpAQCAtMjI0LDEyICsy MTQsNyBAQCByZWFscGF0aF9zdGsgKGNvbnN0IGNoYXIgKm5hbWUsIGNoYXIgKnJlc29sdmVk LAogICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gIHN0cnVjdCBzY3JhdGNoX2J1ZmZl ciBleHRyYV9idWZmZXIsIGxpbmtfYnVmZmVyOwotICBzY3JhdGNoX2J1ZmZlcl9pbml0ICgm ZXh0cmFfYnVmZmVyKTsKLSAgc2NyYXRjaF9idWZmZXJfaW5pdCAoJmxpbmtfYnVmZmVyKTsK LSAgc2NyYXRjaF9idWZmZXJfaW5pdCAocm5hbWVfYnVmKTsKLSAgY2hhciAqcm5hbWVfb25f c3RhY2sgPSBybmFtZV9idWYtPmRhdGE7Ci0gIGNoYXIgKnJuYW1lID0gcm5hbWVfb25fc3Rh Y2s7CisgIGNoYXIgKnJuYW1lID0gYnVmcy0+cm5hbWUuZGF0YTsKICAgYm9vbCBlbmRfaW5f ZXh0cmFfYnVmZmVyID0gZmFsc2U7CiAgIGJvb2wgZmFpbGVkID0gdHJ1ZTsKIApAQCAtMjM5 LDE2ICsyMjQsMTYgQEAgcmVhbHBhdGhfc3RrIChjb25zdCBjaGFyICpuYW1lLCBjaGFyICpy ZXNvbHZlZCwKIAogICBpZiAoIUlTX0FCU09MVVRFX0ZJTEVfTkFNRSAobmFtZSkpCiAgICAg ewotICAgICAgd2hpbGUgKCFfX2dldGN3ZCAocm5hbWUsIHJuYW1lX2J1Zi0+bGVuZ3RoKSkK KyAgICAgIHdoaWxlICghX19nZXRjd2QgKGJ1ZnMtPnJuYW1lLmRhdGEsIGJ1ZnMtPnJuYW1l Lmxlbmd0aCkpCiAgICAgICAgIHsKICAgICAgICAgICBpZiAoZXJybm8gIT0gRVJBTkdFKQog ICAgICAgICAgICAgewogICAgICAgICAgICAgICBkZXN0ID0gcm5hbWU7CiAgICAgICAgICAg ICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgaWYgKCFzY3JhdGNo X2J1ZmZlcl9ncm93IChybmFtZV9idWYpKQotICAgICAgICAgICAgZ290byBlcnJvcl9ub21l bTsKLSAgICAgICAgICBybmFtZSA9IHJuYW1lX2J1Zi0+ZGF0YTsKKyAgICAgICAgICBpZiAo IXNjcmF0Y2hfYnVmZmVyX2dyb3cgKCZidWZzLT5ybmFtZSkpCisgICAgICAgICAgICByZXR1 cm4gTlVMTDsKKyAgICAgICAgICBybmFtZSA9IGJ1ZnMtPnJuYW1lLmRhdGE7CiAgICAgICAg IH0KICAgICAgIGRlc3QgPSBfX3Jhd21lbWNociAocm5hbWUsICdcMCcpOwogICAgICAgc3Rh cnQgPSBuYW1lOwpAQCAtMzAyLDEzICsyODcsMTMgQEAgcmVhbHBhdGhfc3RrIChjb25zdCBj aGFyICpuYW1lLCBjaGFyICpyZXNvbHZlZCwKICAgICAgICAgICBpZiAoIUlTU0xBU0ggKGRl c3RbLTFdKSkKICAgICAgICAgICAgICpkZXN0KysgPSAnLyc7CiAKLSAgICAgICAgICB3aGls ZSAocm5hbWUgKyBybmFtZV9idWYtPmxlbmd0aCAtIGRlc3QKKyAgICAgICAgICB3aGlsZSAo cm5hbWUgKyBidWZzLT5ybmFtZS5sZW5ndGggLSBkZXN0CiAgICAgICAgICAgICAgICAgIDwg c3RhcnRsZW4gKyBzaXplb2YgZGlyX3N1ZmZpeCkKICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgaWR4X3QgZGVzdF9vZmZzZXQgPSBkZXN0IC0gcm5hbWU7Ci0gICAgICAgICAgICAg IGlmICghc2NyYXRjaF9idWZmZXJfZ3Jvd19wcmVzZXJ2ZSAocm5hbWVfYnVmKSkKLSAgICAg ICAgICAgICAgICBnb3RvIGVycm9yX25vbWVtOwotICAgICAgICAgICAgICBybmFtZSA9IHJu YW1lX2J1Zi0+ZGF0YTsKKyAgICAgICAgICAgICAgaWYgKCFzY3JhdGNoX2J1ZmZlcl9ncm93 X3ByZXNlcnZlICgmYnVmcy0+cm5hbWUpKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxM OworICAgICAgICAgICAgICBybmFtZSA9IGJ1ZnMtPnJuYW1lLmRhdGE7CiAgICAgICAgICAg ICAgIGRlc3QgPSBybmFtZSArIGRlc3Rfb2Zmc2V0OwogICAgICAgICAgICAgfQogCkBAIC0z MTksMTMgKzMwNCwxMyBAQCByZWFscGF0aF9zdGsgKGNvbnN0IGNoYXIgKm5hbWUsIGNoYXIg KnJlc29sdmVkLAogICAgICAgICAgIHNzaXplX3QgbjsKICAgICAgICAgICB3aGlsZSAodHJ1 ZSkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgYnVmID0gbGlua19idWZmZXIuZGF0 YTsKLSAgICAgICAgICAgICAgaWR4X3QgYnVmc2l6ZSA9IGxpbmtfYnVmZmVyLmxlbmd0aDsK KyAgICAgICAgICAgICAgYnVmID0gYnVmcy0+bGluay5kYXRhOworICAgICAgICAgICAgICBp ZHhfdCBidWZzaXplID0gYnVmcy0+bGluay5sZW5ndGg7CiAgICAgICAgICAgICAgIG4gPSBf X3JlYWRsaW5rIChybmFtZSwgYnVmLCBidWZzaXplIC0gMSk7CiAgICAgICAgICAgICAgIGlm IChuIDwgYnVmc2l6ZSAtIDEpCiAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg ICAgIGlmICghc2NyYXRjaF9idWZmZXJfZ3JvdyAoJmxpbmtfYnVmZmVyKSkKLSAgICAgICAg ICAgICAgICBnb3RvIGVycm9yX25vbWVtOworICAgICAgICAgICAgICBpZiAoIXNjcmF0Y2hf YnVmZmVyX2dyb3cgKCZidWZzLT5saW5rKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVM TDsKICAgICAgICAgICAgIH0KICAgICAgICAgICBpZiAoMCA8PSBuKQogICAgICAgICAgICAg ewpAQCAtMzM3LDcgKzMyMiw3IEBAIHJlYWxwYXRoX3N0ayAoY29uc3QgY2hhciAqbmFtZSwg Y2hhciAqcmVzb2x2ZWQsCiAKICAgICAgICAgICAgICAgYnVmW25dID0gJ1wwJzsKIAotICAg ICAgICAgICAgICBjaGFyICpleHRyYV9idWYgPSBleHRyYV9idWZmZXIuZGF0YTsKKyAgICAg ICAgICAgICAgY2hhciAqZXh0cmFfYnVmID0gYnVmcy0+ZXh0cmEuZGF0YTsKICAgICAgICAg ICAgICAgaWR4X3QgZW5kX2lkeCBJRl9MSU5UICg9IDApOwogICAgICAgICAgICAgICBpZiAo ZW5kX2luX2V4dHJhX2J1ZmZlcikKICAgICAgICAgICAgICAgICBlbmRfaWR4ID0gZW5kIC0g ZXh0cmFfYnVmOwpAQCAtMzQ1LDEzICszMzAsMTMgQEAgcmVhbHBhdGhfc3RrIChjb25zdCBj aGFyICpuYW1lLCBjaGFyICpyZXNvbHZlZCwKICAgICAgICAgICAgICAgaWYgKElOVF9BRERf T1ZFUkZMT1cgKGxlbiwgbikpCiAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgX19zZXRfZXJybm8gKEVOT01FTSk7Ci0gICAgICAgICAgICAgICAgICBnb3RvIGVycm9y X25vbWVtOworICAgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CiAgICAgICAgICAgICAg ICAgfQotICAgICAgICAgICAgICB3aGlsZSAoZXh0cmFfYnVmZmVyLmxlbmd0aCA8PSBsZW4g KyBuKQorICAgICAgICAgICAgICB3aGlsZSAoYnVmcy0+ZXh0cmEubGVuZ3RoIDw9IGxlbiAr IG4pCiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgaWYgKCFzY3JhdGNo X2J1ZmZlcl9ncm93X3ByZXNlcnZlICgmZXh0cmFfYnVmZmVyKSkKLSAgICAgICAgICAgICAg ICAgICAgZ290byBlcnJvcl9ub21lbTsKLSAgICAgICAgICAgICAgICAgIGV4dHJhX2J1ZiA9 IGV4dHJhX2J1ZmZlci5kYXRhOworICAgICAgICAgICAgICAgICAgaWYgKCFzY3JhdGNoX2J1 ZmZlcl9ncm93X3ByZXNlcnZlICgmYnVmcy0+ZXh0cmEpKQorICAgICAgICAgICAgICAgICAg ICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgICAgICAgIGV4dHJhX2J1ZiA9IGJ1ZnMtPmV4 dHJhLmRhdGE7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICBpZiAoZW5kX2lu X2V4dHJhX2J1ZmZlcikKICAgICAgICAgICAgICAgICBlbmQgPSBleHRyYV9idWYgKyBlbmRf aWR4OwpAQCAtNDAzLDIwICszODgsMzAgQEAgcmVhbHBhdGhfc3RrIChjb25zdCBjaGFyICpu YW1lLCBjaGFyICpyZXNvbHZlZCwKIAogZXJyb3I6CiAgICpkZXN0KysgPSAnXDAnOwotICBp ZiAocmVzb2x2ZWQgIT0gTlVMTCAmJiBkZXN0IC0gcm5hbWUgPD0gZ2V0X3BhdGhfbWF4ICgp KQotICAgIHJuYW1lID0gc3RyY3B5IChyZXNvbHZlZCwgcm5hbWUpOwotCi1lcnJvcl9ub21l bToKLSAgc2NyYXRjaF9idWZmZXJfZnJlZSAoJmV4dHJhX2J1ZmZlcik7Ci0gIHNjcmF0Y2hf YnVmZmVyX2ZyZWUgKCZsaW5rX2J1ZmZlcik7Ci0KLSAgaWYgKGZhaWxlZCB8fCBybmFtZSA9 PSByZXNvbHZlZCkKKyAgaWYgKHJlc29sdmVkICE9IE5VTEwpCisgICAgeworICAgICAgLyog Q29weSB0aGUgZnVsbCByZXN1bHQgb24gc3VjY2VzcyBvciBwYXJ0aWFsIHJlc3VsdCBpZiBm YWlsdXJlIHdhcyBkdWUKKyAgICAgICAgIHRvIHRoZSBwYXRoIG5vdCBleGlzdGluZyBvciBu b3QgYmVpbmcgYWNjZXNzaWJsZS4gICovCisgICAgICBpZiAoKCFmYWlsZWQgfHwgZXJybm8g PT0gRU5PRU5UIHx8IGVycm5vID09IEVBQ0NFUykKKyAgICAgICAgICAmJiBkZXN0IC0gcm5h bWUgPD0gZ2V0X3BhdGhfbWF4ICgpKQorICAgICAgICB7CisgICAgICAgICAgc3RyY3B5IChy ZXNvbHZlZCwgcm5hbWUpOworICAgICAgICAgIGlmIChmYWlsZWQpCisgICAgICAgICAgICBy ZXR1cm4gTlVMTDsKKyAgICAgICAgICBlbHNlCisgICAgICAgICAgICByZXR1cm4gcmVzb2x2 ZWQ7CisgICAgICAgIH0KKyAgICAgIGlmICghZmFpbGVkKQorICAgICAgICBfX3NldF9lcnJu byAoRU5BTUVUT09MT05HKTsKKyAgICAgIHJldHVybiBOVUxMOworICAgIH0KKyAgZWxzZQog ICAgIHsKLSAgICAgIHNjcmF0Y2hfYnVmZmVyX2ZyZWUgKHJuYW1lX2J1Zik7Ci0gICAgICBy ZXR1cm4gZmFpbGVkID8gTlVMTCA6IHJlc29sdmVkOworICAgICAgaWYgKGZhaWxlZCkKKyAg ICAgICAgcmV0dXJuIE5VTEw7CisgICAgICBlbHNlCisgICAgICAgIHJldHVybiBfX3N0cmR1 cCAoYnVmcy0+cm5hbWUuZGF0YSk7CiAgICAgfQotCi0gIHJldHVybiBzY3JhdGNoX2J1ZmZl cl9kdXBmcmVlIChybmFtZV9idWYsIGRlc3QgLSBybmFtZSk7CiB9CiAKIC8qIFJldHVybiB0 aGUgY2Fub25pY2FsIGFic29sdXRlIG5hbWUgb2YgZmlsZSBOQU1FLiAgQSBjYW5vbmljYWwg bmFtZQpAQCAtNDMzLDEyICs0MjgsMTUgQEAgZXJyb3Jfbm9tZW06CiBjaGFyICoKIF9fcmVh bHBhdGggKGNvbnN0IGNoYXIgKm5hbWUsIGNoYXIgKnJlc29sdmVkKQogewotICAjaWZkZWYg R0NDX0JPR1VTX1dSRVRVUk5fTE9DQUxfQUREUgotICAgI3dhcm5pbmcgIkdDQyBtaWdodCBp c3N1ZSBhIGJvZ3VzIC1XcmV0dXJuLWxvY2FsLWFkZHIgd2FybmluZyBoZXJlLiIKLSAgICN3 YXJuaW5nICJTZWUgPGh0dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dp P2lkPTkzNjQ0Pi4iCi0gICNlbmRpZgotICBzdHJ1Y3Qgc2NyYXRjaF9idWZmZXIgcm5hbWVf YnVmZmVyOwotICByZXR1cm4gcmVhbHBhdGhfc3RrIChuYW1lLCByZXNvbHZlZCwgJnJuYW1l X2J1ZmZlcik7CisgIHN0cnVjdCByZWFscGF0aF9idWZzIGJ1ZnM7CisgIHNjcmF0Y2hfYnVm ZmVyX2luaXQgKCZidWZzLnJuYW1lKTsKKyAgc2NyYXRjaF9idWZmZXJfaW5pdCAoJmJ1ZnMu ZXh0cmEpOworICBzY3JhdGNoX2J1ZmZlcl9pbml0ICgmYnVmcy5saW5rKTsKKyAgY2hhciAq cmVzdWx0ID0gcmVhbHBhdGhfc3RrIChuYW1lLCByZXNvbHZlZCwgJmJ1ZnMpOworICBzY3Jh dGNoX2J1ZmZlcl9mcmVlICgmYnVmcy5saW5rKTsKKyAgc2NyYXRjaF9idWZmZXJfZnJlZSAo JmJ1ZnMuZXh0cmEpOworICBzY3JhdGNoX2J1ZmZlcl9mcmVlICgmYnVmcy5ybmFtZSk7Cisg IHJldHVybiByZXN1bHQ7CiB9CiBsaWJjX2hpZGRlbl9kZWYgKF9fcmVhbHBhdGgpCiB2ZXJz aW9uZWRfc3ltYm9sIChsaWJjLCBfX3JlYWxwYXRoLCByZWFscGF0aCwgR0xJQkNfMl8zKTsK ZGlmZiAtLWdpdCBhL2xpYi9jYW5vbmljYWxpemUuYyBiL2xpYi9jYW5vbmljYWxpemUuYwpp bmRleCBlMzMxZTNmZjFiLi4zMzQyZjcwMTQwIDEwMDY0NAotLS0gYS9saWIvY2Fub25pY2Fs aXplLmMKKysrIGIvbGliL2Nhbm9uaWNhbGl6ZS5jCkBAIC0xNjIsMjggKzE2MiwxOCBAQCBz ZWVuX3RyaXBsZSAoSGFzaF90YWJsZSAqKmh0LCBjaGFyIGNvbnN0ICpmaWxlbmFtZSwgc3Ry dWN0IHN0YXQgY29uc3QgKnN0KQogICByZXR1cm4gZmFsc2U7CiB9CiAKKy8qIFNjcmF0Y2gg YnVmZmVycyB1c2VkIGJ5IGNhbm9uaWNhbGl6ZV9maWxlbmFtZV9tb2RlX3N0ayBhbmQgbWFu YWdlZAorICAgYnkgX19yZWFscGF0aC4gICovCitzdHJ1Y3QgcmVhbHBhdGhfYnVmcworewor ICBzdHJ1Y3Qgc2NyYXRjaF9idWZmZXIgcm5hbWU7CisgIHN0cnVjdCBzY3JhdGNoX2J1ZmZl ciBleHRyYTsKKyAgc3RydWN0IHNjcmF0Y2hfYnVmZmVyIGxpbms7Cit9OwogCi0vKiBBY3Qg bGlrZSBjYW5vbmljYWxpemVfZmlsZW5hbWVfbW9kZSAoc2VlIGJlbG93KSwgd2l0aCBhbiBh ZGRpdGlvbmFsIGFyZ3VtZW50Ci0gICBybmFtZV9idWYgdGhhdCBjYW4gYmUgdXNlZCBhcyB0 ZW1wb3Jhcnkgc3RvcmFnZS4KLQotICAgSWYgR0NDX0xJTlQgaXMgZGVmaW5lZCwgZG8gbm90 IGlubGluZSB0aGlzIGZ1bmN0aW9uIHdpdGggR0NDIDEwLjEKLSAgIGFuZCBsYXRlciwgdG8g YXZvaWQgY3JlYXRpbmcgYSBwb2ludGVyIHRvIHRoZSBzdGFjayB0aGF0IEdDQwotICAgLVdy ZXR1cm4tbG9jYWwtYWRkciBpbmNvcnJlY3RseSBjb21wbGFpbnMgYWJvdXQuICBTZWU6Ci0g ICBodHRwczovL2djYy5nbnUub3JnL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD05MzY0NAot ICAgQWx0aG91Z2ggdGhlIG5vaW5saW5lIGF0dHJpYnV0ZSBjYW4gaHVydCBwZXJmb3JtYW5j ZSBhIGJpdCwgbm8gYmV0dGVyIHdheQotICAgdG8gcGFjaWZ5IEdDQyBpcyBrbm93bjsgZXZl biBhbiBleHBsaWNpdCAjcHJhZ21hIGRvZXMgbm90IHBhY2lmeSBHQ0MuCi0gICBXaGVuIHRo ZSBHQ0MgYnVnIGlzIGZpeGVkIHRoaXMgd29ya2Fyb3VuZCBzaG91bGQgYmUgbGltaXRlZCB0 byB0aGUKLSAgIGJyb2tlbiBHQ0MgdmVyc2lvbnMuICAqLwotI2lmIF9HTF9HTlVDX1BSRVJF USAoMTAsIDEpCi0jIGlmIGRlZmluZWQgR0NDX0xJTlQgfHwgZGVmaW5lZCBsaW50Ci1fX2F0 dHJpYnV0ZV9fICgoX19ub2lubGluZV9fKSkKLSMgZWxpZiBfX09QVElNSVpFX18gJiYgIV9f Tk9fSU5MSU5FX18KLSMgIGRlZmluZSBHQ0NfQk9HVVNfV1JFVFVSTl9MT0NBTF9BRERSCi0j IGVuZGlmCi0jZW5kaWYKIHN0YXRpYyBjaGFyICoKIGNhbm9uaWNhbGl6ZV9maWxlbmFtZV9t b2RlX3N0ayAoY29uc3QgY2hhciAqbmFtZSwgY2Fub25pY2FsaXplX21vZGVfdCBjYW5fbW9k ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNjcmF0Y2hfYnVm ZmVyICpybmFtZV9idWYpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCByZWFscGF0aF9idWZzICpidWZzKQogewogICBjaGFyICpkZXN0OwogICBjaGFyIGNvbnN0 ICpzdGFydDsKQEAgLTIxMSwxMiArMjAxLDcgQEAgY2Fub25pY2FsaXplX2ZpbGVuYW1lX21v ZGVfc3RrIChjb25zdCBjaGFyICpuYW1lLCBjYW5vbmljYWxpemVfbW9kZV90IGNhbl9tb2Rl LAogICAgICAgcmV0dXJuIE5VTEw7CiAgICAgfQogCi0gIHN0cnVjdCBzY3JhdGNoX2J1ZmZl ciBleHRyYV9idWZmZXIsIGxpbmtfYnVmZmVyOwotICBzY3JhdGNoX2J1ZmZlcl9pbml0ICgm ZXh0cmFfYnVmZmVyKTsKLSAgc2NyYXRjaF9idWZmZXJfaW5pdCAoJmxpbmtfYnVmZmVyKTsK LSAgc2NyYXRjaF9idWZmZXJfaW5pdCAocm5hbWVfYnVmKTsKLSAgY2hhciAqcm5hbWVfb25f c3RhY2sgPSBybmFtZV9idWYtPmRhdGE7Ci0gIGNoYXIgKnJuYW1lID0gcm5hbWVfb25fc3Rh Y2s7CisgIGNoYXIgKnJuYW1lID0gYnVmcy0+cm5hbWUuZGF0YTsKICAgYm9vbCBlbmRfaW5f ZXh0cmFfYnVmZmVyID0gZmFsc2U7CiAgIGJvb2wgZmFpbGVkID0gdHJ1ZTsKIApAQCAtMjI2 LDEyICsyMTEsMTIgQEAgY2Fub25pY2FsaXplX2ZpbGVuYW1lX21vZGVfc3RrIChjb25zdCBj aGFyICpuYW1lLCBjYW5vbmljYWxpemVfbW9kZV90IGNhbl9tb2RlLAogCiAgIGlmICghSVNf QUJTT0xVVEVfRklMRV9OQU1FIChuYW1lKSkKICAgICB7Ci0gICAgICB3aGlsZSAoIWdldGN3 ZCAocm5hbWUsIHJuYW1lX2J1Zi0+bGVuZ3RoKSkKKyAgICAgIHdoaWxlICghZ2V0Y3dkIChi dWZzLT5ybmFtZS5kYXRhLCBidWZzLT5ybmFtZS5sZW5ndGgpKQogICAgICAgICB7CiAgICAg ICAgICAgc3dpdGNoIChlcnJubykKICAgICAgICAgICAgIHsKICAgICAgICAgICAgIGNhc2Ug RVJBTkdFOgotICAgICAgICAgICAgICBpZiAoc2NyYXRjaF9idWZmZXJfZ3JvdyAocm5hbWVf YnVmKSkKKyAgICAgICAgICAgICAgaWYgKHNjcmF0Y2hfYnVmZmVyX2dyb3cgKCZidWZzLT5y bmFtZSkpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgIEZBTExUSFJP VUdIOwogICAgICAgICAgICAgY2FzZSBFTk9NRU06CkBAIC0yNDEsNyArMjI2LDcgQEAgY2Fu b25pY2FsaXplX2ZpbGVuYW1lX21vZGVfc3RrIChjb25zdCBjaGFyICpuYW1lLCBjYW5vbmlj YWxpemVfbW9kZV90IGNhbl9tb2RlLAogICAgICAgICAgICAgICBkZXN0ID0gcm5hbWU7CiAg ICAgICAgICAgICAgIGdvdG8gZXJyb3I7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgcm5h bWUgPSBybmFtZV9idWYtPmRhdGE7CisgICAgICAgICAgcm5hbWUgPSBidWZzLT5ybmFtZS5k YXRhOwogICAgICAgICB9CiAgICAgICBkZXN0ID0gcmF3bWVtY2hyIChybmFtZSwgJ1wwJyk7 CiAgICAgICBzdGFydCA9IG5hbWU7CkBAIC0yNjUsNyArMjUwLDcgQEAgY2Fub25pY2FsaXpl X2ZpbGVuYW1lX21vZGVfc3RrIChjb25zdCBjaGFyICpuYW1lLCBjYW5vbmljYWxpemVfbW9k ZV90IGNhbl9tb2RlLAogICAgICAgICAgICAgICAgIGZvciAoaSA9IDI7IG5hbWVbaV0gIT0g J1wwJyAmJiAhSVNTTEFTSCAobmFtZVtpXSk7ICkKICAgICAgICAgICAgICAgICAgIGkrKzsK ICAgICAgICAgICAgICAgICBpZiAobmFtZVtpXSAhPSAnXDAnIC8qIGltcGxpZXMgSVNTTEFT SCAobmFtZVtpXSkgKi8KLSAgICAgICAgICAgICAgICAgICAgJiYgaSArIDEgPCBybmFtZV9i dWYtPmxlbmd0aCkKKyAgICAgICAgICAgICAgICAgICAgJiYgaSArIDEgPCBidWZzLT5ybmFt ZS5sZW5ndGgpCiAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIHBy ZWZpeF9sZW4gPSBpOwogICAgICAgICAgICAgICAgICAgICBtZW1jcHkgKGRlc3QsIG5hbWUg KyAyLCBpIC0gMiArIDEpOwpAQCAtMjc1LDcgKzI2MCw3IEBAIGNhbm9uaWNhbGl6ZV9maWxl bmFtZV9tb2RlX3N0ayAoY29uc3QgY2hhciAqbmFtZSwgY2Fub25pY2FsaXplX21vZGVfdCBj YW5fbW9kZSwKICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgLyog RWl0aGVyIG5hbWUgPSAnXFxzZXJ2ZXInOyB0aGlzIGlzIGFuIGludmFsaWQgZmlsZSBuYW1l LgogICAgICAgICAgICAgICAgICAgICAgICBPciBuYW1lID0gJ1xcc2VydmVyXC4uLicgYW5k IHNlcnZlciBpcyBtb3JlIHRoYW4KLSAgICAgICAgICAgICAgICAgICAgICAgcm5hbWVfYnVm LT5sZW5ndGggLSA0IGJ5dGVzIGxvbmcuICBJbiBlaXRoZXIKKyAgICAgICAgICAgICAgICAg ICAgICAgYnVmcy0+cm5hbWUubGVuZ3RoIC0gNCBieXRlcyBsb25nLiAgSW4gZWl0aGVyCiAg ICAgICAgICAgICAgICAgICAgICAgIGNhc2UsIHN0b3AgdGhlIFVOQyBwcm9jZXNzaW5nLiAg Ki8KICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQpAQCAtMzIwLDEzICsz MDUsMTMgQEAgY2Fub25pY2FsaXplX2ZpbGVuYW1lX21vZGVfc3RrIChjb25zdCBjaGFyICpu YW1lLCBjYW5vbmljYWxpemVfbW9kZV90IGNhbl9tb2RlLAogICAgICAgICAgIGlmICghSVNT TEFTSCAoZGVzdFstMV0pKQogICAgICAgICAgICAgKmRlc3QrKyA9ICcvJzsKIAotICAgICAg ICAgIHdoaWxlIChybmFtZSArIHJuYW1lX2J1Zi0+bGVuZ3RoIC0gZGVzdAorICAgICAgICAg IHdoaWxlIChybmFtZSArIGJ1ZnMtPnJuYW1lLmxlbmd0aCAtIGRlc3QKICAgICAgICAgICAg ICAgICAgPCBzdGFydGxlbiArIHNpemVvZiBkaXJfc3VmZml4KQogICAgICAgICAgICAgewog ICAgICAgICAgICAgICBpZHhfdCBkZXN0X29mZnNldCA9IGRlc3QgLSBybmFtZTsKLSAgICAg ICAgICAgICAgaWYgKCFzY3JhdGNoX2J1ZmZlcl9ncm93X3ByZXNlcnZlIChybmFtZV9idWYp KQorICAgICAgICAgICAgICBpZiAoIXNjcmF0Y2hfYnVmZmVyX2dyb3dfcHJlc2VydmUgKCZi dWZzLT5ybmFtZSkpCiAgICAgICAgICAgICAgICAgeGFsbG9jX2RpZSAoKTsKLSAgICAgICAg ICAgICAgcm5hbWUgPSBybmFtZV9idWYtPmRhdGE7CisgICAgICAgICAgICAgIHJuYW1lID0g YnVmcy0+cm5hbWUuZGF0YTsKICAgICAgICAgICAgICAgZGVzdCA9IHJuYW1lICsgZGVzdF9v ZmZzZXQ7CiAgICAgICAgICAgICB9CiAKQEAgLTMzOSwxMiArMzI0LDEyIEBAIGNhbm9uaWNh bGl6ZV9maWxlbmFtZV9tb2RlX3N0ayAoY29uc3QgY2hhciAqbmFtZSwgY2Fub25pY2FsaXpl X21vZGVfdCBjYW5fbW9kZSwKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgd2hpbGUg KHRydWUpCiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgYnVmID0gbGlu a19idWZmZXIuZGF0YTsKLSAgICAgICAgICAgICAgICAgIGlkeF90IGJ1ZnNpemUgPSBsaW5r X2J1ZmZlci5sZW5ndGg7CisgICAgICAgICAgICAgICAgICBidWYgPSBidWZzLT5saW5rLmRh dGE7CisgICAgICAgICAgICAgICAgICBpZHhfdCBidWZzaXplID0gYnVmcy0+bGluay5sZW5n dGg7CiAgICAgICAgICAgICAgICAgICBuID0gcmVhZGxpbmsgKHJuYW1lLCBidWYsIGJ1ZnNp emUgLSAxKTsKICAgICAgICAgICAgICAgICAgIGlmIChuIDwgYnVmc2l6ZSAtIDEpCiAgICAg ICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgICAgaWYgKCFzY3JhdGNo X2J1ZmZlcl9ncm93ICgmbGlua19idWZmZXIpKQorICAgICAgICAgICAgICAgICAgaWYgKCFz Y3JhdGNoX2J1ZmZlcl9ncm93ICgmYnVmcy0+bGluaykpCiAgICAgICAgICAgICAgICAgICAg IHhhbGxvY19kaWUgKCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQpAQCAt MzgzLDE4ICszNjgsMTggQEAgY2Fub25pY2FsaXplX2ZpbGVuYW1lX21vZGVfc3RrIChjb25z dCBjaGFyICpuYW1lLCBjYW5vbmljYWxpemVfbW9kZV90IGNhbl9tb2RlLAogCiAgICAgICAg ICAgICAgIGJ1ZltuXSA9ICdcMCc7CiAKLSAgICAgICAgICAgICAgY2hhciAqZXh0cmFfYnVm ID0gZXh0cmFfYnVmZmVyLmRhdGE7CisgICAgICAgICAgICAgIGNoYXIgKmV4dHJhX2J1ZiA9 IGJ1ZnMtPmV4dHJhLmRhdGE7CiAgICAgICAgICAgICAgIGlkeF90IGVuZF9pZHggSUZfTElO VCAoPSAwKTsKICAgICAgICAgICAgICAgaWYgKGVuZF9pbl9leHRyYV9idWZmZXIpCiAgICAg ICAgICAgICAgICAgZW5kX2lkeCA9IGVuZCAtIGV4dHJhX2J1ZjsKICAgICAgICAgICAgICAg c2l6ZV90IGxlbiA9IHN0cmxlbiAoZW5kKTsKICAgICAgICAgICAgICAgaWYgKElOVF9BRERf T1ZFUkZMT1cgKGxlbiwgbikpCiAgICAgICAgICAgICAgICAgeGFsbG9jX2RpZSAoKTsKLSAg ICAgICAgICAgICAgd2hpbGUgKGV4dHJhX2J1ZmZlci5sZW5ndGggPD0gbGVuICsgbikKKyAg ICAgICAgICAgICAgd2hpbGUgKGJ1ZnMtPmV4dHJhLmxlbmd0aCA8PSBsZW4gKyBuKQogICAg ICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAgIGlmICghc2NyYXRjaF9idWZmZXJf Z3Jvd19wcmVzZXJ2ZSAoJmV4dHJhX2J1ZmZlcikpCisgICAgICAgICAgICAgICAgICBpZiAo IXNjcmF0Y2hfYnVmZmVyX2dyb3dfcHJlc2VydmUgKCZidWZzLT5leHRyYSkpCiAgICAgICAg ICAgICAgICAgICAgIHhhbGxvY19kaWUgKCk7Ci0gICAgICAgICAgICAgICAgICBleHRyYV9i dWYgPSBleHRyYV9idWZmZXIuZGF0YTsKKyAgICAgICAgICAgICAgICAgIGV4dHJhX2J1ZiA9 IGJ1ZnMtPmV4dHJhLmRhdGE7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICBp ZiAoZW5kX2luX2V4dHJhX2J1ZmZlcikKICAgICAgICAgICAgICAgICBlbmQgPSBleHRyYV9i dWYgKyBlbmRfaWR4OwpAQCAtNDUzLDIwICs0MzgsMTUgQEAgY2Fub25pY2FsaXplX2ZpbGVu YW1lX21vZGVfc3RrIChjb25zdCBjaGFyICpuYW1lLCBjYW5vbmljYWxpemVfbW9kZV90IGNh bl9tb2RlLAogZXJyb3I6CiAgIGlmIChodCkKICAgICBoYXNoX2ZyZWUgKGh0KTsKLSAgc2Ny YXRjaF9idWZmZXJfZnJlZSAoJmV4dHJhX2J1ZmZlcik7Ci0gIHNjcmF0Y2hfYnVmZmVyX2Zy ZWUgKCZsaW5rX2J1ZmZlcik7CiAKICAgaWYgKGZhaWxlZCkKLSAgICB7Ci0gICAgICBzY3Jh dGNoX2J1ZmZlcl9mcmVlIChybmFtZV9idWYpOwotICAgICAgcmV0dXJuIE5VTEw7Ci0gICAg fQorICAgIHJldHVybiBOVUxMOwogCiAgICpkZXN0KysgPSAnXDAnOwotICBjaGFyICpyZXN1 bHQgPSBzY3JhdGNoX2J1ZmZlcl9kdXBmcmVlIChybmFtZV9idWYsIGRlc3QgLSBybmFtZSk7 CisgIGNoYXIgKnJlc3VsdCA9IG1hbGxvYyAoZGVzdCAtIHJuYW1lKTsKICAgaWYgKCFyZXN1 bHQpCiAgICAgeGFsbG9jX2RpZSAoKTsKLSAgcmV0dXJuIHJlc3VsdDsKKyAgcmV0dXJuIG1l bWNweSAocmVzdWx0LCBybmFtZSwgZGVzdCAtIHJuYW1lKTsKIH0KIAogLyogUmV0dXJuIHRo ZSBjYW5vbmljYWwgYWJzb2x1dGUgbmFtZSBvZiBmaWxlIE5BTUUsIHdoaWxlIHRyZWF0aW5n CkBAIC00NzksMTAgKzQ1OSwxMyBAQCBlcnJvcjoKIGNoYXIgKgogY2Fub25pY2FsaXplX2Zp bGVuYW1lX21vZGUgKGNvbnN0IGNoYXIgKm5hbWUsIGNhbm9uaWNhbGl6ZV9tb2RlX3QgY2Fu X21vZGUpCiB7Ci0gICNpZmRlZiBHQ0NfQk9HVVNfV1JFVFVSTl9MT0NBTF9BRERSCi0gICAj d2FybmluZyAiR0NDIG1pZ2h0IGlzc3VlIGEgYm9ndXMgLVdyZXR1cm4tbG9jYWwtYWRkciB3 YXJuaW5nIGhlcmUuIgotICAgI3dhcm5pbmcgIlNlZSA8aHR0cHM6Ly9nY2MuZ251Lm9yZy9i dWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9OTM2NDQ+LiIKLSAgI2VuZGlmCi0gIHN0cnVjdCBz Y3JhdGNoX2J1ZmZlciBybmFtZV9idWZmZXI7Ci0gIHJldHVybiBjYW5vbmljYWxpemVfZmls ZW5hbWVfbW9kZV9zdGsgKG5hbWUsIGNhbl9tb2RlLCAmcm5hbWVfYnVmZmVyKTsKKyAgc3Ry dWN0IHJlYWxwYXRoX2J1ZnMgYnVmczsKKyAgc2NyYXRjaF9idWZmZXJfaW5pdCAoJmJ1ZnMu cm5hbWUpOworICBzY3JhdGNoX2J1ZmZlcl9pbml0ICgmYnVmcy5leHRyYSk7CisgIHNjcmF0 Y2hfYnVmZmVyX2luaXQgKCZidWZzLmxpbmspOworICBjaGFyICpyZXN1bHQgPSBjYW5vbmlj YWxpemVfZmlsZW5hbWVfbW9kZV9zdGsgKG5hbWUsIGNhbl9tb2RlLCAmYnVmcyk7CisgIHNj cmF0Y2hfYnVmZmVyX2ZyZWUgKCZidWZzLmxpbmspOworICBzY3JhdGNoX2J1ZmZlcl9mcmVl ICgmYnVmcy5leHRyYSk7CisgIHNjcmF0Y2hfYnVmZmVyX2ZyZWUgKCZidWZzLnJuYW1lKTsK KyAgcmV0dXJuIHJlc3VsdDsKIH0KZGlmZiAtLWdpdCBhL2xpYi9tYWxsb2Mvc2NyYXRjaF9i dWZmZXIuaCBiL2xpYi9tYWxsb2Mvc2NyYXRjaF9idWZmZXIuaAppbmRleCBlNGM1YzhhODVk Li5hOWJkY2FkZWMyIDEwMDY0NAotLS0gYS9saWIvbWFsbG9jL3NjcmF0Y2hfYnVmZmVyLmgK KysrIGIvbGliL21hbGxvYy9zY3JhdGNoX2J1ZmZlci5oCkBAIC0xMzIsMjAgKzEzMiw0IEBA IHNjcmF0Y2hfYnVmZmVyX3NldF9hcnJheV9zaXplIChzdHJ1Y3Qgc2NyYXRjaF9idWZmZXIg KmJ1ZmZlciwKIAkJCSAoYnVmZmVyLCBuZWxlbSwgc2l6ZSkpOwogfQogCi0vKiBSZXR1cm4g YSBjb3B5IG9mICpCVUZGRVIncyBmaXJzdCBTSVpFIGJ5dGVzIGFzIGEgaGVhcC1hbGxvY2F0 ZWQgYmxvY2ssCi0gICBkZWFsbG9jYXRpbmcgKkJVRkZFUiBpZiBpdCB3YXMgaGVhcC1hbGxv Y2F0ZWQuICBTSVpFIG11c3QgYmUgYXQKLSAgIG1vc3QgKkJVRkZFUidzIHNpemUuICBSZXR1 cm4gTlVMTCAoc2V0dGluZyBlcnJubykgb24gbWVtb3J5Ci0gICBleGhhdXN0aW9uLiAgKi8K LXZvaWQgKl9fbGliY19zY3JhdGNoX2J1ZmZlcl9kdXBmcmVlIChzdHJ1Y3Qgc2NyYXRjaF9i dWZmZXIgKmJ1ZmZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz aXplX3Qgc2l6ZSk7Ci1saWJjX2hpZGRlbl9wcm90byAoX19saWJjX3NjcmF0Y2hfYnVmZmVy X2R1cGZyZWUpCi0KLS8qIEFsaWFzIGZvciBfX2xpYmNfc2NyYXRjaF9kdXBmcmVlLiAgKi8K LXN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgdm9pZCAqCi1zY3JhdGNoX2J1ZmZlcl9kdXBmcmVl IChzdHJ1Y3Qgc2NyYXRjaF9idWZmZXIgKmJ1ZmZlciwgc2l6ZV90IHNpemUpCi17Ci0gIHZv aWQgKnIgPSBfX2xpYmNfc2NyYXRjaF9idWZmZXJfZHVwZnJlZSAoYnVmZmVyLCBzaXplKTsK LSAgcmV0dXJuIF9fZ2xpYmNfbGlrZWx5IChyICE9IE5VTEwpID8gciA6IE5VTEw7Ci19Ci0K ICNlbmRpZiAvKiBfU0NSQVRDSF9CVUZGRVJfSCAqLwpkaWZmIC0tZ2l0IGEvbGliL21hbGxv Yy9zY3JhdGNoX2J1ZmZlcl9kdXBmcmVlLmMgYi9saWIvbWFsbG9jL3NjcmF0Y2hfYnVmZmVy X2R1cGZyZWUuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWIzYjk1YzFiMS4u MDAwMDAwMDAwMAotLS0gYS9saWIvbWFsbG9jL3NjcmF0Y2hfYnVmZmVyX2R1cGZyZWUuYwor KysgL2Rldi9udWxsCkBAIC0xLDQxICswLDAgQEAKLS8qIFZhcmlhYmxlLXNpemVkIGJ1ZmZl ciB3aXRoIG9uLXN0YWNrIGRlZmF1bHQgYWxsb2NhdGlvbi4KLSAgIENvcHlyaWdodCAoQykg MjAyMC0yMDIyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotICAgVGhpcyBmaWxl IGlzIHBhcnQgb2YgdGhlIEdOVSBDIExpYnJhcnkuCi0KLSAgIFRoZSBHTlUgQyBMaWJyYXJ5 IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAg bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1 YmxpYwotICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyCi0gICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgVGhlIEdOVSBDIExpYnJh cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK LSAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCi0gICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgTGVzc2VyIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICAgTGljZW5z ZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5OyBpZiBub3QsIHNlZQotICAgPGh0dHBz Oi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0KLSNpZm5kZWYgX0xJQkMKLSMgaW5j bHVkZSA8bGliYy1jb25maWcuaD4KLSNlbmRpZgotCi0jaW5jbHVkZSA8c2NyYXRjaF9idWZm ZXIuaD4KLSNpbmNsdWRlIDxzdHJpbmcuaD4KLQotdm9pZCAqCi1fX2xpYmNfc2NyYXRjaF9i dWZmZXJfZHVwZnJlZSAoc3RydWN0IHNjcmF0Y2hfYnVmZmVyICpidWZmZXIsIHNpemVfdCBz aXplKQotewotICB2b2lkICpkYXRhID0gYnVmZmVyLT5kYXRhOwotICBpZiAoZGF0YSA9PSBi dWZmZXItPl9fc3BhY2UuX19jKQotICAgIHsKLSAgICAgIHZvaWQgKmNvcHkgPSBtYWxsb2Mg KHNpemUpOwotICAgICAgcmV0dXJuIGNvcHkgIT0gTlVMTCA/IG1lbWNweSAoY29weSwgZGF0 YSwgc2l6ZSkgOiBOVUxMOwotICAgIH0KLSAgZWxzZQotICAgIHsKLSAgICAgIHZvaWQgKmNv cHkgPSByZWFsbG9jIChkYXRhLCBzaXplKTsKLSAgICAgIHJldHVybiBjb3B5ICE9IE5VTEwg PyBjb3B5IDogZGF0YTsKLSAgICB9Ci19Ci1saWJjX2hpZGRlbl9kZWYgKF9fbGliY19zY3Jh dGNoX2J1ZmZlcl9kdXBmcmVlKQpkaWZmIC0tZ2l0IGEvbGliL3NjcmF0Y2hfYnVmZmVyLmgg Yi9saWIvc2NyYXRjaF9idWZmZXIuaAppbmRleCBmNGZlNWU4ZDM0Li5jMGFhMjE2MzBmIDEw MDY0NAotLS0gYS9saWIvc2NyYXRjaF9idWZmZXIuaAorKysgYi9saWIvc2NyYXRjaF9idWZm ZXIuaApAQCAtOTgsMjAgKzk4LDEwIEBAIGV4dGVybiBib29sIHNjcmF0Y2hfYnVmZmVyX3Nl dF9hcnJheV9zaXplIChzdHJ1Y3Qgc2NyYXRjaF9idWZmZXIgKmJ1ZmZlciwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplX3QgbmVsZW0sIHNpemVf dCBzaXplKTsKICNlbmRpZgogCi0vKiBSZXR1cm4gYSBjb3B5IG9mICpCVUZGRVIncyBmaXJz dCBTSVpFIGJ5dGVzIGFzIGEgaGVhcC1hbGxvY2F0ZWQgYmxvY2ssCi0gICBkZWFsbG9jYXRp bmcgKkJVRkZFUiBpZiBpdCB3YXMgaGVhcC1hbGxvY2F0ZWQuICBTSVpFIG11c3QgYmUgYXQK LSAgIG1vc3QgKkJVRkZFUidzIHNpemUuICBSZXR1cm4gTlVMTCAoc2V0dGluZyBlcnJubykg b24gbWVtb3J5Ci0gICBleGhhdXN0aW9uLiAgKi8KLSNpZiAwCi1leHRlcm4gdm9pZCAqc2Ny YXRjaF9idWZmZXJfZHVwZnJlZSAoc3RydWN0IHNjcmF0Y2hfYnVmZmVyICpidWZmZXIsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IHNpemUpOwotI2Vu ZGlmCi0KIAogLyogVGhlIGltcGxlbWVudGF0aW9uIGlzIGltcG9ydGVkIGZyb20gZ2xpYmMu ICAqLwogCiAvKiBBdm9pZCBwb3NzaWJsZSBjb25mbGljdHMgd2l0aCBzeW1ib2xzIGV4cG9y dGVkIGJ5IHRoZSBHTlUgbGliYy4gICovCi0jZGVmaW5lIF9fbGliY19zY3JhdGNoX2J1ZmZl cl9kdXBmcmVlIGdsX3NjcmF0Y2hfYnVmZmVyX2R1cGZyZWUKICNkZWZpbmUgX19saWJjX3Nj cmF0Y2hfYnVmZmVyX2dyb3cgZ2xfc2NyYXRjaF9idWZmZXJfZ3JvdwogI2RlZmluZSBfX2xp YmNfc2NyYXRjaF9idWZmZXJfZ3Jvd19wcmVzZXJ2ZSBnbF9zY3JhdGNoX2J1ZmZlcl9ncm93 X3ByZXNlcnZlCiAjZGVmaW5lIF9fbGliY19zY3JhdGNoX2J1ZmZlcl9zZXRfYXJyYXlfc2l6 ZSBnbF9zY3JhdGNoX2J1ZmZlcl9zZXRfYXJyYXlfc2l6ZQpkaWZmIC0tZ2l0IGEvbW9kdWxl cy9yZWxvY2F0YWJsZS1wcm9nLXdyYXBwZXIgYi9tb2R1bGVzL3JlbG9jYXRhYmxlLXByb2ct d3JhcHBlcgppbmRleCBhNjBhYTI0ZDY3Li4wNTI0OTljMWFkIDEwMDY0NAotLS0gYS9tb2R1 bGVzL3JlbG9jYXRhYmxlLXByb2ctd3JhcHBlcgorKysgYi9tb2R1bGVzL3JlbG9jYXRhYmxl LXByb2ctd3JhcHBlcgpAQCAtMTksNyArMTksNiBAQCBsaWIvc3RhdC5jCiBsaWIvY2Fub25p Y2FsaXplLWxncGwuYwogbGliL3NjcmF0Y2hfYnVmZmVyLmgKIGxpYi9tYWxsb2Mvc2NyYXRj aF9idWZmZXIuaAotbGliL21hbGxvYy9zY3JhdGNoX2J1ZmZlcl9kdXBmcmVlLmMKIGxpYi9t YWxsb2Mvc2NyYXRjaF9idWZmZXJfZ3Jvdy5jCiBsaWIvbWFsbG9jL3NjcmF0Y2hfYnVmZmVy X2dyb3dfcHJlc2VydmUuYwogbGliL21hbGxvYy9zY3JhdGNoX2J1ZmZlcl9zZXRfYXJyYXlf c2l6ZS5jCmRpZmYgLS1naXQgYS9tb2R1bGVzL3NjcmF0Y2hfYnVmZmVyIGIvbW9kdWxlcy9z Y3JhdGNoX2J1ZmZlcgppbmRleCA5MjFjOGY1NDk3Li5hY2U4YTM0ZDJjIDEwMDY0NAotLS0g YS9tb2R1bGVzL3NjcmF0Y2hfYnVmZmVyCisrKyBiL21vZHVsZXMvc2NyYXRjaF9idWZmZXIK QEAgLTQsNyArNCw2IEBAIFZhcmlhYmxlLXNpemVkIGJ1ZmZlciB3aXRoIG9uLXN0YWNrIGRl ZmF1bHQgYWxsb2NhdGlvbi4KIEZpbGVzOgogbGliL3NjcmF0Y2hfYnVmZmVyLmgKIGxpYi9t YWxsb2Mvc2NyYXRjaF9idWZmZXIuaAotbGliL21hbGxvYy9zY3JhdGNoX2J1ZmZlcl9kdXBm cmVlLmMKIGxpYi9tYWxsb2Mvc2NyYXRjaF9idWZmZXJfZ3Jvdy5jCiBsaWIvbWFsbG9jL3Nj cmF0Y2hfYnVmZmVyX2dyb3dfcHJlc2VydmUuYwogbGliL21hbGxvYy9zY3JhdGNoX2J1ZmZl cl9zZXRfYXJyYXlfc2l6ZS5jCkBAIC0zNyw4ICszNiw3IEBAIG1hbGxvYy9zY3JhdGNoX2J1 ZmZlci5nbC5oOiBtYWxsb2Mvc2NyYXRjaF9idWZmZXIuaAogCSQoQU1fVl9hdCltdiAkQC10 ICRACiBNT1NUTFlDTEVBTkZJTEVTICs9IG1hbGxvYy9zY3JhdGNoX2J1ZmZlci5nbC5oIG1h bGxvYy9zY3JhdGNoX2J1ZmZlci5nbC5oLXQKIAotbGliX1NPVVJDRVMgKz0gbWFsbG9jL3Nj cmF0Y2hfYnVmZmVyX2R1cGZyZWUuYyBcCi0gICAgICAgICAgICAgICBtYWxsb2Mvc2NyYXRj aF9idWZmZXJfZ3Jvdy5jIFwKK2xpYl9TT1VSQ0VTICs9IG1hbGxvYy9zY3JhdGNoX2J1ZmZl cl9ncm93LmMgXAogICAgICAgICAgICAgICAgbWFsbG9jL3NjcmF0Y2hfYnVmZmVyX2dyb3df cHJlc2VydmUuYyBcCiAgICAgICAgICAgICAgICBtYWxsb2Mvc2NyYXRjaF9idWZmZXJfc2V0 X2FycmF5X3NpemUuYwogCi0tIAoyLjM4LjEKCg== --------------NABJTRhxV02PakMnY4W0p5FO--