From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 31AE3E77184 for ; Wed, 18 Dec 2024 00:03:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=EHX4zfgqEPGs9qWrcYjAwu9zpPX/AznIkNjLZz9nMow=; b=2Jdo/vRYjYpmr4 DtsCG2WyVCacA0bby8jqX2I5vH8Xiy9C9ORzpi2V5wmwtrIpqMwZfcVZZFHKziIpWykKhpKaJOiId jpSE92mauUUsasbKL9Pw37sLtra9lDzxrLZxd+Vqm/EcehkS0edMD9qiZV4D6W9OAkMjLhLOLbeKS 1gLPD4YJ5/HSnVwOyGM/pEvICjP4nA+0T9QHEp7zgecuhj4zxvvIKUBTFynBlnUoii/WyIIZMR/iO EuLErc7WTTPQI7CeJzzO34GEySokpE7Til2ys8WIUHQfLnRQkV/USIU4ZXtxQzgf6r5wz575UgFH3 zvmSbFRa7lB2HdosJ22g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tNhXZ-0000000F9gZ-2vLJ; Wed, 18 Dec 2024 00:03:49 +0000 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tNhWl-0000000F9U1-3kwq for linux-riscv@lists.infradead.org; Wed, 18 Dec 2024 00:03:01 +0000 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-21628b3fe7dso45728475ad.3 for ; Tue, 17 Dec 2024 16:02:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1734480179; x=1735084979; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=drYPh0vWxi017hqs04616YLxIMzEf4VG8/okhwk3080=; b=mDTYD67cydx1htZPlshbfGQC98EECxijkwdv+qUr764Z7Bo5EfVlnHy4GlFjoLzTlD wMNSn4RiJPjb41WZQ3Bqh/47YfOwCNZebjqcUHENTtTm8R3lLwLeSoQWaiymyb8bvTHP xFDKh3oOpjQ1/AkKr4JIoksO4BgKrolMn3Y0U2Pa8d9vEEeq16sM7qlklcpBi9Oy+4w9 0P/ClciIAU8sLnTPicmXeDp+c5+6buRzpMnjJ0ayUGGW60Xpc8cavwvPnD1OEb+ybTPv 6iNsivc4zBGQT5JinHWyKU7CJX31HPf7gpuZDNSkBY2YgiYGwmG0UAtcTUhmxyuaFxcv Uydg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734480179; x=1735084979; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=drYPh0vWxi017hqs04616YLxIMzEf4VG8/okhwk3080=; b=XmN77uIQlD5Mq3exWoVi7xhGOO8QVZeERu1MabbUHorULlPscFiyNI9CL/OQ7K5jxw S/2u+IJSN3D5QULDzFf4RShIX40RBwWP7TN334YxJxMa9TvztZrr4yhqRwCU/h+QNMBs F5BMkcQgDDS3XpN7tSGKTf8HmNngfoHa42mdTcBkOUgoPm4fArRYcanT4pjgHcSsZpx9 yzzyb9yeN4c+IVdfCn55Lyu9Lf33/rlmucLOdX0EajTgieoFrKsUbbv14m8s6G9HyOFR G7EbD+i+Wswy9jNY6ixUv82KnfqZtD+zbbZ80QRtCT+VA7mwgE1baccNb1QSw2rdV5fI DP9Q== X-Forwarded-Encrypted: i=1; AJvYcCWNE5a6cZHd2kfzxB8Ai4YlFjL44b8NobQbaWogMOxLkUV3I1p2lw74S45b67WYra4Xdtd81CGGTBHKlw==@lists.infradead.org X-Gm-Message-State: AOJu0Yy8NrFZ96kpl3uq73UbAvaFrmjRqiF73jLekXnR/YJ9tT4oZPCh QS/sUVIXETFxnt7K80JZmfRK214QnQcZcuTXVO5TRb8P8xfqOM6c+qrAWPvl6cg= X-Gm-Gg: ASbGncvhm3F0Azd5tiDFJfQ/Qaw8Ww99hmJ15O+x/gC47+SxU5wMw9m5AT/tYvus7ek lIA1GbEILFrXFnMRwdK/FYs7078mw5yB6dK0dISIIY0JACX3pKwNdURuqvoNh+z8A6Hr/D8pWl7 0iEiNQyqdDgdwaAKIWDBbzoSczA2HxW24HsygIv0i2kbHd5FfNy72Eu7F1XfGgJgfDhxfIgTUb9 rTt1Qu0jcoZuggrkfbzWyfCuNOOexYKrC8i4B+0kpScozc= X-Google-Smtp-Source: AGHT+IFo8wH+Y7PVcLF/ww50jt+0SlJoO+o2KA7iOtl/CuuZOeZAQKchvlelfffqrwKtfYEPXxVTBA== X-Received: by 2002:a17:902:ea0e:b0:216:725c:a122 with SMTP id d9443c01a7336-218d7216c88mr11861725ad.19.1734480178717; Tue, 17 Dec 2024 16:02:58 -0800 (PST) Received: from ghost ([50.145.13.30]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-218a1e5f36dsm64992675ad.210.2024.12.17.16.02.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Dec 2024 16:02:57 -0800 (PST) Date: Tue, 17 Dec 2024 16:02:54 -0800 From: Charlie Jenkins To: Ian Rogers Cc: Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Adrian Hunter , Paul Walmsley , Palmer Dabbelt , =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= , =?iso-8859-1?Q?G=FCnther?= Noack , Christian Brauner , Guo Ren , John Garry , Will Deacon , James Clark , Mike Leach , Leo Yan , Jonathan Corbet , =?iso-8859-1?Q?Bj=F6rn_T=F6pel?= , Arnd Bergmann , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, linux-riscv@lists.infradead.org, linux-security-module@vger.kernel.org, bpf@vger.kernel.org, linux-csky@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org Subject: Re: [PATCH v3 16/16] perf tools: Remove dependency on libaudit Message-ID: References: <20241216-perf_syscalltbl-v3-0-239f032481d5@rivosinc.com> <20241216-perf_syscalltbl-v3-16-239f032481d5@rivosinc.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20241217_160259_970185_F39F163E X-CRM114-Status: GOOD ( 29.84 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org T24gVHVlLCBEZWMgMTcsIDIwMjQgYXQgMDM6MzY6MjdQTSAtMDgwMCwgSWFuIFJvZ2VycyB3cm90 ZToKPiBPbiBNb24sIERlYyAxNiwgMjAyNCBhdCAxMDo0MOKAr1BNIENoYXJsaWUgSmVua2lucyA8 Y2hhcmxpZUByaXZvc2luYy5jb20+IHdyb3RlOgo+ID4KPiA+IEFsbCBhcmNoaXRlY3R1cmVzIG5v dyBzdXBwb3J0IEhBVkVfU1lTQ0FMTF9UQUJMRV9TVVBQT1JULCBzbyB0aGUgZmxhZyBpcwo+ID4g bm8gbG9uZ2VyIG5lZWRlZC4gV2l0aCB0aGUgcmVtb3ZhbCBvZiB0aGUgZmxhZywgdGhlIHJlbGF0 ZWQKPiA+IEdFTkVSSUNfU1lTQ0FMTF9UQUJMRSBjYW4gYWxzbyBiZSByZW1vdmVkLiBsaWJhdWRp dCB3YXMgb25seSB1c2VkIGFzIGEKPiA+IGZhbGxiYWNrIGZvciB3aGVuIEhBVkVfU1lTQ0FMTF9U QUJMRV9TVVBQT1JUIHdhcyBub3QgZGVmaW5lZCwgc28KPiA+IGxpYmF1ZGl0IGlzIGFsc28gbm8g bG9uZ2VyIG5lZWRlZCBmb3IgYW55IGFyY2hpdGVjdHVyZS4KPiA+Cj4gPiBTaWduZWQtb2ZmLWJ5 OiBDaGFybGllIEplbmtpbnMgPGNoYXJsaWVAcml2b3NpbmMuY29tPgo+ID4gLS0tCj4gPiAgRG9j dW1lbnRhdGlvbi9hZG1pbi1ndWlkZS93b3JrbG9hZC10cmFjaW5nLnJzdCB8ICAyICstCj4gPiAg dG9vbHMvYnVpbGQvZmVhdHVyZS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICB8ICA0IC0tCj4g PiAgdG9vbHMvYnVpbGQvZmVhdHVyZS90ZXN0LWxpYmF1ZGl0LmMgICAgICAgICAgICB8IDExIC0t LS0tLQo+ID4gIHRvb2xzL3BlcmYvRG9jdW1lbnRhdGlvbi9wZXJmLWNoZWNrLnR4dCAgICAgICAg fCAgMSAtCj4gPiAgdG9vbHMvcGVyZi9NYWtlZmlsZS5jb25maWcgICAgICAgICAgICAgICAgICAg ICB8IDMxICstLS0tLS0tLS0tLS0tLQo+ID4gIHRvb2xzL3BlcmYvTWFrZWZpbGUucGVyZiAgICAg ICAgICAgICAgICAgICAgICAgfCAxNSAtLS0tLS0tLQo+ID4gIHRvb2xzL3BlcmYvYnVpbHRpbi1j aGVjay5jICAgICAgICAgICAgICAgICAgICAgfCAgMSAtCj4gPiAgdG9vbHMvcGVyZi9idWlsdGlu LWhlbHAuYyAgICAgICAgICAgICAgICAgICAgICB8ICAyIC0KPiA+ICB0b29scy9wZXJmL2J1aWx0 aW4tdHJhY2UuYyAgICAgICAgICAgICAgICAgICAgIHwgMzAgLS0tLS0tLS0tLS0tLS0tCj4gPiAg dG9vbHMvcGVyZi9wZXJmLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2ICstLQo+ ID4gIHRvb2xzL3BlcmYvdGVzdHMvbWFrZSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNyAr LS0tCj4gPiAgdG9vbHMvcGVyZi91dGlsL2Vudi5jICAgICAgICAgICAgICAgICAgICAgICAgICB8 ICA0ICstCj4gPiAgdG9vbHMvcGVyZi91dGlsL2dlbmVyYXRlLWNtZGxpc3Quc2ggICAgICAgICAg ICB8ICA0ICstCj4gPiAgdG9vbHMvcGVyZi91dGlsL3N5c2NhbGx0YmwuYyAgICAgICAgICAgICAg ICAgICB8IDUyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiAgMTQgZmlsZXMgY2hhbmdl ZCwgMTAgaW5zZXJ0aW9ucygrKSwgMTYwIGRlbGV0aW9ucygtKQo+ID4KPiA+IGRpZmYgLS1naXQg YS9Eb2N1bWVudGF0aW9uL2FkbWluLWd1aWRlL3dvcmtsb2FkLXRyYWNpbmcucnN0IGIvRG9jdW1l bnRhdGlvbi9hZG1pbi1ndWlkZS93b3JrbG9hZC10cmFjaW5nLnJzdAo+ID4gaW5kZXggYjJlMjU0 ZWM4ZWU4NDZhZmU3OGVlZGU3NGE4MjViNTFjNmFiMTE5Yi4uNmJlMzhjMWI5YzViYjRiZTg5OWZk MjYxYzZkMjkxMWFiY2Y5NTlkYyAxMDA2NDQKPiA+IC0tLSBhL0RvY3VtZW50YXRpb24vYWRtaW4t Z3VpZGUvd29ya2xvYWQtdHJhY2luZy5yc3QKPiA+ICsrKyBiL0RvY3VtZW50YXRpb24vYWRtaW4t Z3VpZGUvd29ya2xvYWQtdHJhY2luZy5yc3QKPiA+IEBAIC04Myw3ICs4Myw3IEBAIHNjcmlwdHMv dmVyX2xpbnV4IGlzIGEgZ29vZCB3YXkgdG8gY2hlY2sgaWYgeW91ciBzeXN0ZW0gYWxyZWFkeSBo YXMKPiA+ICB0aGUgbmVjZXNzYXJ5IHRvb2xzOjoKPiA+Cj4gPiAgICBzdWRvIGFwdC1nZXQgYnVp bGQtZXNzZW50aWFscyBmbGV4IGJpc29uIHlhY2MKPiA+IC0gIHN1ZG8gYXB0IGluc3RhbGwgbGli ZWxmLWRldiBzeXN0ZW10YXAtc2R0LWRldiBsaWJhdWRpdC1kZXYgbGlic2xhbmcyLWRldiBsaWJw ZXJsLWRldiBsaWJkdy1kZXYKPiA+ICsgIHN1ZG8gYXB0IGluc3RhbGwgbGliZWxmLWRldiBzeXN0 ZW10YXAtc2R0LWRldiBsaWJzbGFuZzItZGV2IGxpYnBlcmwtZGV2IGxpYmR3LWRldgo+ID4KPiA+ ICBjc2NvcGUgaXMgYSBnb29kIHRvb2wgdG8gYnJvd3NlIGtlcm5lbCBzb3VyY2VzLiBMZXQncyBp bnN0YWxsIGl0IG5vdzo6Cj4gPgo+ID4gZGlmZiAtLWdpdCBhL3Rvb2xzL2J1aWxkL2ZlYXR1cmUv TWFrZWZpbGUgYi90b29scy9idWlsZC9mZWF0dXJlL01ha2VmaWxlCj4gPiBpbmRleCAwNDNkZmQw MGZjZTcyZDhmNjUxY2NkOWIzMjY1YTAxODNmNTAwZTVjLi5lMGI2M2U5ZDAyNTFhYmU2ZDVlYWZj NmQyZjI2Yjk0MDkxOGIxNmVlIDEwMDY0NAo+ID4gLS0tIGEvdG9vbHMvYnVpbGQvZmVhdHVyZS9N YWtlZmlsZQo+ID4gKysrIGIvdG9vbHMvYnVpbGQvZmVhdHVyZS9NYWtlZmlsZQo+ID4gQEAgLTEz LDcgKzEzLDYgQEAgRklMRVM9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAo+ID4gICAgICAgICAgIHRlc3QtZ3RrMi5iaW4gICAgICAgICAgICAgICAgICAgICAgICAg IFwKPiA+ICAgICAgICAgICB0ZXN0LWd0azItaW5mb2Jhci5iaW4gICAgICAgICAgICAgICAgICBc Cj4gPiAgICAgICAgICAgdGVzdC1oZWxsby5iaW4gICAgICAgICAgICAgICAgICAgICAgICAgXAo+ ID4gLSAgICAgICAgIHRlc3QtbGliYXVkaXQuYmluICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ ICAgICAgICAgICB0ZXN0LWxpYmJmZC5iaW4gICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiAg ICAgICAgICAgdGVzdC1saWJiZmQtYnVpbGRpZC5iaW4gICAgICAgICAgICAgICBcCj4gPiAgICAg ICAgICAgdGVzdC1kaXNhc3NlbWJsZXItZm91ci1hcmdzLmJpbiAgICAgICAgXAo+ID4gQEAgLTIy OCw5ICsyMjcsNiBAQCAkKE9VVFBVVCl0ZXN0LWxpYnVud2luZC1kZWJ1Zy1mcmFtZS1hcm0uYmlu Ogo+ID4gICQoT1VUUFVUKXRlc3QtbGlidW53aW5kLWRlYnVnLWZyYW1lLWFhcmNoNjQuYmluOgo+ ID4gICAgICAgICAkKEJVSUxEKSAtbGVsZiAtbGx6bWEgLWx1bndpbmQtYWFyY2g2NAo+ID4KPiA+ IC0kKE9VVFBVVCl0ZXN0LWxpYmF1ZGl0LmJpbjoKPiA+IC0gICAgICAgJChCVUlMRCkgLWxhdWRp dAo+ID4gLQo+ID4gICQoT1VUUFVUKXRlc3QtbGlic2xhbmcuYmluOgo+ID4gICAgICAgICAkKEJV SUxEKSAtbHNsYW5nCj4gPgo+ID4gZGlmZiAtLWdpdCBhL3Rvb2xzL2J1aWxkL2ZlYXR1cmUvdGVz dC1saWJhdWRpdC5jIGIvdG9vbHMvYnVpbGQvZmVhdHVyZS90ZXN0LWxpYmF1ZGl0LmMKPiA+IGRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+ID4gaW5kZXggZjViMDg2M2ZhMWVjMjQwNzk1MzM5NDI4 ZDhkZWVkOThhOTQ2ZDQwNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MAo+ID4gLS0tIGEvdG9vbHMvYnVpbGQvZmVhdHVyZS90ZXN0LWxpYmF1ZGl0LmMKPiA+ICsrKyAv ZGV2L251bGwKPiA+IEBAIC0xLDExICswLDAgQEAKPiA+IC0vLyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMAo+ID4gLSNpbmNsdWRlIDxsaWJhdWRpdC5oPgo+ID4gLQo+ID4gLWV4dGVy biBpbnQgcHJpbnRmKGNvbnN0IGNoYXIgKmZvcm1hdCwgLi4uKTsKPiA+IC0KPiA+IC1pbnQgbWFp bih2b2lkKQo+ID4gLXsKPiA+IC0gICAgICAgcHJpbnRmKCJlcnJvciBtZXNzYWdlOiAlc1xuIiwg YXVkaXRfZXJybm9fdG9fbmFtZSgwKSk7Cj4gPiAtCj4gPiAtICAgICAgIHJldHVybiBhdWRpdF9v cGVuKCk7Cj4gPiAtfQo+ID4gZGlmZiAtLWdpdCBhL3Rvb2xzL3BlcmYvRG9jdW1lbnRhdGlvbi9w ZXJmLWNoZWNrLnR4dCBiL3Rvb2xzL3BlcmYvRG9jdW1lbnRhdGlvbi9wZXJmLWNoZWNrLnR4dAo+ ID4gaW5kZXggMzE3NDE0OTllNzg2N2M5YjcxMjIyN2YzMWEyOTU4ZmQ2NDFkNDc0YS4uZTZkMmNl ZWIyY2E3ZGU4NTBmNDFiMWJhYTAzNzViNmY5ODRiYjA4ZiAxMDA2NDQKPiA+IC0tLSBhL3Rvb2xz L3BlcmYvRG9jdW1lbnRhdGlvbi9wZXJmLWNoZWNrLnR4dAo+ID4gKysrIGIvdG9vbHMvcGVyZi9E b2N1bWVudGF0aW9uL3BlcmYtY2hlY2sudHh0Cj4gPiBAQCAtNTEsNyArNTEsNiBAQCBmZWF0dXJl OjoKPiA+ICAgICAgICAgICAgICAgICAgZHdhcmZfZ2V0bG9jYXRpb25zICAgICAgLyAgSEFWRV9M SUJEV19TVVBQT1JUCj4gPiAgICAgICAgICAgICAgICAgIGR3YXJmLXVud2luZCAgICAgICAgICAg IC8gIEhBVkVfRFdBUkZfVU5XSU5EX1NVUFBPUlQKPiA+ICAgICAgICAgICAgICAgICAgYXV4dHJh Y2UgICAgICAgICAgICAgICAgLyAgSEFWRV9BVVhUUkFDRV9TVVBQT1JUCj4gPiAtICAgICAgICAg ICAgICAgIGxpYmF1ZGl0ICAgICAgICAgICAgICAgIC8gIEhBVkVfTElCQVVESVRfU1VQUE9SVAo+ ID4gICAgICAgICAgICAgICAgICBsaWJiZmQgICAgICAgICAgICAgICAgICAvICBIQVZFX0xJQkJG RF9TVVBQT1JUCj4gPiAgICAgICAgICAgICAgICAgIGxpYmNhcHN0b25lICAgICAgICAgICAgIC8g IEhBVkVfTElCQ0FQU1RPTkVfU1VQUE9SVAo+ID4gICAgICAgICAgICAgICAgICBsaWJjcnlwdG8g ICAgICAgICAgICAgICAvICBIQVZFX0xJQkNSWVBUT19TVVBQT1JUCj4gPiBkaWZmIC0tZ2l0IGEv dG9vbHMvcGVyZi9NYWtlZmlsZS5jb25maWcgYi90b29scy9wZXJmL01ha2VmaWxlLmNvbmZpZwo+ ID4gaW5kZXggM2Y4MmJhOTA3MzgxMDQ5MjEzYzA1NWFiMTBjM2ZlMTRkOTU3MjA3My4uYTU3YjIz NjQ1NzhmNTdlMzE0NzZmNTA0MWEwNmEwY2QyMmQ4YjI3ZSAxMDA2NDQKPiA+IC0tLSBhL3Rvb2xz L3BlcmYvTWFrZWZpbGUuY29uZmlnCj4gPiArKysgYi90b29scy9wZXJmL01ha2VmaWxlLmNvbmZp Zwo+ID4gQEAgLTI4LDIwICsyOCw3IEBAIGluY2x1ZGUgJChzcmN0cmVlKS90b29scy9zY3JpcHRz L01ha2VmaWxlLmFyY2gKPiA+Cj4gPiAgJChjYWxsIGRldGVjdGVkX3ZhcixTUkNBUkNIKQo+ID4K PiA+IC1pZm5lcSAoJChOT19TWVNDQUxMX1RBQkxFKSwxKQo+ID4gLSAgTk9fU1lTQ0FMTF9UQUJM RSA6PSAxCj4gPiAtCj4gPiAtICAjIGFyY2hpdGVjdHVyZXMgdGhhdCB1c2UgdGhlIGdlbmVyaWMg c3lzY2FsbCB0YWJsZSBzY3JpcHRzCj4gPiAtICBpZm5lcSAoJChmaWx0ZXIgJChTUkNBUkNIKSwg JChnZW5lcmljX3N5c2NhbGxfdGFibGVfYXJjaHMpKSwpCj4gPiAtICAgIE5PX1NZU0NBTExfVEFC TEUgOj0gMAo+ID4gLSAgICBDRkxBR1MgKz0gLURHRU5FUklDX1NZU0NBTExfVEFCTEUKPiA+IC0g ICAgQ0ZMQUdTICs9IC1JJChPVVRQVVQpdG9vbHMvcGVyZi9hcmNoLyQoU1JDQVJDSCkvaW5jbHVk ZS9nZW5lcmF0ZWQKPiA+IC0gIGVuZGlmCj4gPiAtCj4gPiAtICBpZm5lcSAoJChOT19TWVNDQUxM X1RBQkxFKSwxKQo+ID4gLSAgICBDRkxBR1MgKz0gLURIQVZFX1NZU0NBTExfVEFCTEVfU1VQUE9S VAo+ID4gLSAgZW5kaWYKPiA+IC1lbmRpZgo+ID4gK0NGTEFHUyArPSAtSSQoT1VUUFVUKXRvb2xz L3BlcmYvYXJjaC8kKFNSQ0FSQ0gpL2luY2x1ZGUvZ2VuZXJhdGVkCj4gPgo+ID4gICMgQWRkaXRp b25hbCBBUkNIIHNldHRpbmdzIGZvciBwcGMKPiA+ICBpZmVxICgkKFNSQ0FSQ0gpLHBvd2VycGMp Cj4gPiBAQCAtNzU1LDIxICs3NDIsNyBAQCBpZm5kZWYgTk9fTElCVU5XSU5ECj4gPiAgZW5kaWYK PiA+Cj4gPiAgaWZuZXEgKCQoTk9fTElCVFJBQ0VFVkVOVCksMSkKPiA+IC0gIGlmZXEgKCQoTk9f U1lTQ0FMTF9UQUJMRSksMCkKPiA+IC0gICAgJChjYWxsIGRldGVjdGVkLENPTkZJR19UUkFDRSkK PiA+IC0gIGVsc2UKPiA+IC0gICAgaWZuZGVmIE5PX0xJQkFVRElUCj4gPiAtICAgICAgJChjYWxs IGZlYXR1cmVfY2hlY2ssbGliYXVkaXQpCj4gPiAtICAgICAgaWZuZXEgKCQoZmVhdHVyZS1saWJh dWRpdCksIDEpCj4gPiAtICAgICAgICAkKHdhcm5pbmcgTm8gbGliYXVkaXQuaCBmb3VuZCwgZGlz YWJsZXMgJ3RyYWNlJyB0b29sLCBwbGVhc2UgaW5zdGFsbCBhdWRpdC1saWJzLWRldmVsIG9yIGxp YmF1ZGl0LWRldikKPiA+IC0gICAgICAgIE5PX0xJQkFVRElUIDo9IDEKPiA+IC0gICAgICBlbHNl Cj4gPiAtICAgICAgICBDRkxBR1MgKz0gLURIQVZFX0xJQkFVRElUX1NVUFBPUlQKPiA+IC0gICAg ICAgIEVYVExJQlMgKz0gLWxhdWRpdAo+ID4gLSAgICAgICAgJChjYWxsIGRldGVjdGVkLENPTkZJ R19UUkFDRSkKPiA+IC0gICAgICBlbmRpZgo+ID4gLSAgICBlbmRpZgo+ID4gLSAgZW5kaWYKPiA+ ICsgICQoY2FsbCBkZXRlY3RlZCxDT05GSUdfVFJBQ0UpCj4gPiAgZW5kaWYKPiA+Cj4gPiAgaWZu ZGVmIE5PX0xJQkNSWVBUTwo+ID4gZGlmZiAtLWdpdCBhL3Rvb2xzL3BlcmYvTWFrZWZpbGUucGVy ZiBiL3Rvb2xzL3BlcmYvTWFrZWZpbGUucGVyZgo+ID4gaW5kZXggMmM2YTUwOWM4MDBkMzAzNzkz M2M5YjQ5ZTVhN2RhZmJmNzhmZGEwYy4uYWIyZDA3NWZmM2EyMzM1MGE1ZWVhMTI1MDhjZjAzNzZm MWQ5ZjRlOCAxMDA2NDQKPiA+IC0tLSBhL3Rvb2xzL3BlcmYvTWFrZWZpbGUucGVyZgo+ID4gKysr IGIvdG9vbHMvcGVyZi9NYWtlZmlsZS5wZXJmCj4gPiBAQCAtNTksOCArNTksNiBAQCBpbmNsdWRl IC4uL3NjcmlwdHMvdXRpbGl0aWVzLm1hawo+ID4gICMKPiA+ICAjIERlZmluZSBOT19MSUJOVU1B IGlmIHlvdSBkbyBub3Qgd2FudCBudW1hIHBlcmYgYmVuY2htYXJrCj4gPiAgIwo+ID4gLSMgRGVm aW5lIE5PX0xJQkFVRElUIGlmIHlvdSBkbyBub3Qgd2FudCBsaWJhdWRpdCBzdXBwb3J0Cj4gPiAt Iwo+ID4gICMgRGVmaW5lIE5PX0xJQkJJT05JQyBpZiB5b3UgZG8gbm90IHdhbnQgYmlvbmljIHN1 cHBvcnQKPiA+ICAjCj4gPiAgIyBEZWZpbmUgTk9fTElCQ1JZUFRPIGlmIHlvdSBkbyBub3Qgd2Fu dCBsaWJjcnlwdG8gKG9wZW5zc2wpIHN1cHBvcnQKPiA+IEBAIC0xMTksMTAgKzExNyw2IEBAIGlu Y2x1ZGUgLi4vc2NyaXB0cy91dGlsaXRpZXMubWFrCj4gPiAgIwo+ID4gICMgRGVmaW5lIExJQkJQ Rl9EWU5BTUlDIHRvIGVuYWJsZSBsaWJicGYgZHluYW1pYyBsaW5raW5nLgo+ID4gICMKPiA+IC0j IERlZmluZSBOT19TWVNDQUxMX1RBQkxFPTEgdG8gZGlzYWJsZSB0aGUgdXNlIG9mIHN5c2NhbGwg aWQgdG8vZnJvbSBuYW1lIHRhYmxlcwo+ID4gLSMgZ2VuZXJhdGVkIGZyb20gdGhlIGtlcm5lbCAu dGJsIG9yIHVuaXN0ZC5oIGZpbGVzIGFuZCB1c2UsIGlmIGF2YWlsYWJsZSwgbGliYXVkaXQKPiA+ IC0jIGZvciBkb2luZyB0aGUgY29udmVyc2lvbnMgdG8vZnJvbSBzdHJpbmdzL2lkLgo+ID4gLSMK PiA+ICAjIERlZmluZSBOT19MSUJQRk00IHRvIGRpc2FibGUgbGlicGZtNCBldmVudHMgZXh0ZW5z aW9uLgo+ID4gICMKPiA+ICAjIERlZmluZSBOT19MSUJERUJVR0lORk9EIGlmIHlvdSBkbyBub3Qg d2FudCBzdXBwb3J0IGRlYnVnaW5mb2QKPiA+IEBAIC0zMTAsMTEgKzMwNCw3IEBAIGlmZXEgKCQo ZmlsdGVyIGZlYXR1cmUtZHVtcCwkKE1BS0VDTURHT0FMUykpLGZlYXR1cmUtZHVtcCkKPiA+ICBG RUFUVVJFX1RFU1RTIDo9IGFsbAo+ID4gIGVuZGlmCj4gPiAgZW5kaWYKPiA+IC0jIGFyY2hpdGVj dHVyZXMgdGhhdCB1c2UgdGhlIGdlbmVyaWMgc3lzY2FsbCB0YWJsZQo+ID4gLWdlbmVyaWNfc3lz Y2FsbF90YWJsZV9hcmNocyA6PSByaXNjdiBhcmMgY3NreSBhcm0gc2ggc3BhcmMgeHRlbnNhIHg4 NiBhbHBoYSBwYXJpc2MgYXJtNjQgbG9vbmdhcmNoIG1pcHMgcG93ZXJwYyBzMzkwCj4gPiAtaWZu ZXEgKCQoZmlsdGVyICQoU1JDQVJDSCksICQoZ2VuZXJpY19zeXNjYWxsX3RhYmxlX2FyY2hzKSks KQo+ID4gIGluY2x1ZGUgJChzcmN0cmVlKS90b29scy9wZXJmL3NjcmlwdHMvTWFrZWZpbGUuc3lz Y2FsbHMKPiA+IC1lbmRpZgo+ID4gIGluY2x1ZGUgTWFrZWZpbGUuY29uZmlnCj4gPiAgZW5kaWYK PiA+Cj4gPiBAQCAtMTA5OSwxMSArMTA4OSw2IEBAIGVuZGlmCj4gPiAgICAgICAgICAgICAgICAg JChJTlNUQUxMKSAkKE9VVFBVVClwZXJmLWFyY2hpdmUgLXQgJyQoREVTVERJUl9TUSkkKHBlcmZl eGVjX2luc3RkaXJfU1EpJwo+ID4gICAgICAgICAkKGNhbGwgUVVJRVRfSU5TVEFMTCwgcGVyZi1p b3N0YXQpIFwKPiA+ICAgICAgICAgICAgICAgICAkKElOU1RBTEwpICQoT1VUUFVUKXBlcmYtaW9z dGF0IC10ICckKERFU1RESVJfU1EpJChwZXJmZXhlY19pbnN0ZGlyX1NRKScKPiA+IC1pZm5kZWYg Tk9fTElCQVVESVQKPiA+IC0gICAgICAgJChjYWxsIFFVSUVUX0lOU1RBTEwsIHN0cmFjZS9ncm91 cHMpIFwKPiA+IC0gICAgICAgICAgICAgICAkKElOU1RBTEwpIC1kIC1tIDc1NSAnJChERVNURElS X1NRKSQoU1RSQUNFX0dST1VQU19JTlNURElSX1NRKSc7IFwKPiA+IC0gICAgICAgICAgICAgICAk KElOU1RBTEwpIHRyYWNlL3N0cmFjZS9ncm91cHMvKiAtbSA2NDQgLXQgJyQoREVTVERJUl9TUSkk KFNUUkFDRV9HUk9VUFNfSU5TVERJUl9TUSknCj4gPiAtZW5kaWYKPiA+ICBpZm5kZWYgTk9fTElC UEVSTAo+ID4gICAgICAgICAkKGNhbGwgUVVJRVRfSU5TVEFMTCwgcGVybC1zY3JpcHRzKSBcCj4g PiAgICAgICAgICAgICAgICAgJChJTlNUQUxMKSAtZCAtbSA3NTUgJyQoREVTVERJUl9TUSkkKHBl cmZleGVjX2luc3RkaXJfU1EpL3NjcmlwdHMvcGVybC9QZXJmLVRyYWNlLVV0aWwvbGliL1BlcmYv VHJhY2UnOyBcCj4gPiBkaWZmIC0tZ2l0IGEvdG9vbHMvcGVyZi9idWlsdGluLWNoZWNrLmMgYi90 b29scy9wZXJmL2J1aWx0aW4tY2hlY2suYwo+ID4gaW5kZXggMjM0NjUzNmE1ZWUxNGY5MWVjZDEw YmQxMzBhNjQ2NzZlODcxZTFiMi4uN2FlZDdiOWY0ZjUyNzA1MjdlZTFkMzYzMjdlYjZhMDFmMTk2 YTQ2YSAxMDA2NDQKPiA+IC0tLSBhL3Rvb2xzL3BlcmYvYnVpbHRpbi1jaGVjay5jCj4gPiArKysg Yi90b29scy9wZXJmL2J1aWx0aW4tY2hlY2suYwo+ID4gQEAgLTMxLDcgKzMxLDYgQEAgc3RydWN0 IGZlYXR1cmVfc3RhdHVzIHN1cHBvcnRlZF9mZWF0dXJlc1tdID0gewo+ID4gICAgICAgICBGRUFU VVJFX1NUQVRVUygiZHdhcmZfZ2V0bG9jYXRpb25zIiwgSEFWRV9MSUJEV19TVVBQT1JUKSwKPiA+ ICAgICAgICAgRkVBVFVSRV9TVEFUVVMoImR3YXJmLXVud2luZCIsIEhBVkVfRFdBUkZfVU5XSU5E X1NVUFBPUlQpLAo+ID4gICAgICAgICBGRUFUVVJFX1NUQVRVUygiYXV4dHJhY2UiLCBIQVZFX0FV WFRSQUNFX1NVUFBPUlQpLAo+ID4gLSAgICAgICBGRUFUVVJFX1NUQVRVUygibGliYXVkaXQiLCBI QVZFX0xJQkFVRElUX1NVUFBPUlQpLAo+ID4gICAgICAgICBGRUFUVVJFX1NUQVRVUygibGliYmZk IiwgSEFWRV9MSUJCRkRfU1VQUE9SVCksCj4gPiAgICAgICAgIEZFQVRVUkVfU1RBVFVTKCJsaWJj YXBzdG9uZSIsIEhBVkVfTElCQ0FQU1RPTkVfU1VQUE9SVCksCj4gPiAgICAgICAgIEZFQVRVUkVf U1RBVFVTKCJsaWJjcnlwdG8iLCBIQVZFX0xJQkNSWVBUT19TVVBQT1JUKSwKPiA+IGRpZmYgLS1n aXQgYS90b29scy9wZXJmL2J1aWx0aW4taGVscC5jIGIvdG9vbHMvcGVyZi9idWlsdGluLWhlbHAu Ywo+ID4gaW5kZXggMDg1NGQzY2Q5ZjZhMzA0Y2Q5Y2I1MGFkNDMwZDU3MDZkOTFkZjBlOS4uN2Jl NmZiNmRmNTk1OTIzYzE1YWU1MTc0N2Q1YmYxN2Q4NjdhZTc4NSAxMDA2NDQKPiA+IC0tLSBhL3Rv b2xzL3BlcmYvYnVpbHRpbi1oZWxwLmMKPiA+ICsrKyBiL3Rvb2xzL3BlcmYvYnVpbHRpbi1oZWxw LmMKPiA+IEBAIC00NDcsOSArNDQ3LDcgQEAgaW50IGNtZF9oZWxwKGludCBhcmdjLCBjb25zdCBj aGFyICoqYXJndikKPiA+ICAjaWZkZWYgSEFWRV9MSUJFTEZfU1VQUE9SVAo+ID4gICAgICAgICAg ICAgICAgICJwcm9iZSIsCj4gPiAgI2VuZGlmCj4gPiAtI2lmIGRlZmluZWQoSEFWRV9MSUJBVURJ VF9TVVBQT1JUKSB8fCBkZWZpbmVkKEhBVkVfU1lTQ0FMTF9UQUJMRV9TVVBQT1JUKQo+ID4gICAg ICAgICAgICAgICAgICJ0cmFjZSIsCj4gPiAtI2VuZGlmCj4gPiAgICAgICAgIE5VTEwgfTsKPiA+ ICAgICAgICAgY29uc3QgY2hhciAqYnVpbHRpbl9oZWxwX3VzYWdlW10gPSB7Cj4gPiAgICAgICAg ICAgICAgICAgInBlcmYgaGVscCBbLS1hbGxdIFstLW1hbnwtLXdlYnwtLWluZm9dIFtjb21tYW5k XSIsCj4gPiBkaWZmIC0tZ2l0IGEvdG9vbHMvcGVyZi9idWlsdGluLXRyYWNlLmMgYi90b29scy9w ZXJmL2J1aWx0aW4tdHJhY2UuYwo+ID4gaW5kZXggNmExYTEyOGZlNjQ1MDE0ZDAzNDdhZDRlYzNl MGM5ZTc3ZWM1OWFlZS4uMGZkZGYzNDQ1OGRiNGZlNDg5NmQyNWY0MjdmMmFlMjljYjNhYTE1ZiAx MDA2NDQKPiA+IC0tLSBhL3Rvb2xzL3BlcmYvYnVpbHRpbi10cmFjZS5jCj4gPiArKysgYi90b29s cy9wZXJmL2J1aWx0aW4tdHJhY2UuYwo+ID4gQEAgLTIwNjksMzAgKzIwNjksMTEgQEAgc3RhdGlj IGludCB0cmFjZV9fcmVhZF9zeXNjYWxsX2luZm8oc3RydWN0IHRyYWNlICp0cmFjZSwgaW50IGlk KQo+ID4gICAgICAgICBjb25zdCBjaGFyICpuYW1lID0gc3lzY2FsbHRibF9fbmFtZSh0cmFjZS0+ c2N0YmwsIGlkKTsKPiA+ICAgICAgICAgaW50IGVycjsKPiA+Cj4gPiAtI2lmZGVmIEhBVkVfU1lT Q0FMTF9UQUJMRV9TVVBQT1JUCj4gPiAgICAgICAgIGlmICh0cmFjZS0+c3lzY2FsbHMudGFibGUg PT0gTlVMTCkgewo+ID4gICAgICAgICAgICAgICAgIHRyYWNlLT5zeXNjYWxscy50YWJsZSA9IGNh bGxvYyh0cmFjZS0+c2N0YmwtPnN5c2NhbGxzLm1heF9pZCArIDEsIHNpemVvZigqc2MpKTsKPiA+ ICAgICAgICAgICAgICAgICBpZiAodHJhY2UtPnN5c2NhbGxzLnRhYmxlID09IE5VTEwpCj4gPiAg ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKPiA+ICAgICAgICAgfQo+ID4g LSNlbHNlCj4gPiAtICAgICAgIGlmIChpZCA+IHRyYWNlLT5zY3RibC0+c3lzY2FsbHMubWF4X2lk IHx8IChpZCA9PSAwICYmIHRyYWNlLT5zeXNjYWxscy50YWJsZSA9PSBOVUxMKSkgewo+ID4gLSAg ICAgICAgICAgICAgIC8vIFdoZW4gdXNpbmcgbGliYXVkaXQgd2UgZG9uJ3Qga25vdyBiZWZvcmVo YW5kIHdoYXQgaXMgdGhlIG1heCBzeXNjYWxsIGlkCj4gPiAtICAgICAgICAgICAgICAgc3RydWN0 IHN5c2NhbGwgKnRhYmxlID0gcmVhbGxvYyh0cmFjZS0+c3lzY2FsbHMudGFibGUsIChpZCArIDEp ICogc2l6ZW9mKCpzYykpOwo+ID4gLQo+ID4gLSAgICAgICAgICAgICAgIGlmICh0YWJsZSA9PSBO VUxMKQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Cj4gPiAtCj4g PiAtICAgICAgICAgICAgICAgLy8gTmVlZCB0byBtZW1zZXQgZnJvbSBvZmZzZXQgMCBhbmQgKzEg bWVtYmVycyBpZiBicmFuZCBuZXcKPiA+IC0gICAgICAgICAgICAgICBpZiAodHJhY2UtPnN5c2Nh bGxzLnRhYmxlID09IE5VTEwpCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICBtZW1zZXQodGFi bGUsIDAsIChpZCArIDEpICogc2l6ZW9mKCpzYykpOwo+ID4gLSAgICAgICAgICAgICAgIGVsc2UK PiA+IC0gICAgICAgICAgICAgICAgICAgICAgIG1lbXNldCh0YWJsZSArIHRyYWNlLT5zY3RibC0+ c3lzY2FsbHMubWF4X2lkICsgMSwgMCwgKGlkIC0gdHJhY2UtPnNjdGJsLT5zeXNjYWxscy5tYXhf aWQpICogc2l6ZW9mKCpzYykpOwo+ID4gLQo+ID4gLSAgICAgICAgICAgICAgIHRyYWNlLT5zeXNj YWxscy50YWJsZSAgICAgICAgID0gdGFibGU7Cj4gPiAtICAgICAgICAgICAgICAgdHJhY2UtPnNj dGJsLT5zeXNjYWxscy5tYXhfaWQgPSBpZDsKPiA+IC0gICAgICAgfQo+ID4gLSNlbmRpZgo+ID4g ICAgICAgICBzYyA9IHRyYWNlLT5zeXNjYWxscy50YWJsZSArIGlkOwo+ID4gICAgICAgICBpZiAo c2MtPm5vbmV4aXN0ZW50KQo+ID4gICAgICAgICAgICAgICAgIHJldHVybiAtRUVYSVNUOwo+ID4g QEAgLTI0MzksMTggKzI0MjAsNyBAQCBzdGF0aWMgc3RydWN0IHN5c2NhbGwgKnRyYWNlX19zeXNj YWxsX2luZm8oc3RydWN0IHRyYWNlICp0cmFjZSwKPiA+Cj4gPiAgICAgICAgIGVyciA9IC1FSU5W QUw7Cj4gPgo+ID4gLSNpZmRlZiBIQVZFX1NZU0NBTExfVEFCTEVfU1VQUE9SVAo+ID4gICAgICAg ICBpZiAoaWQgPiB0cmFjZS0+c2N0YmwtPnN5c2NhbGxzLm1heF9pZCkgewo+ID4gLSNlbHNlCj4g PiAtICAgICAgIGlmIChpZCA+PSB0cmFjZS0+c2N0YmwtPnN5c2NhbGxzLm1heF9pZCkgewo+ID4g LSAgICAgICAgICAgICAgIC8qCj4gPiAtICAgICAgICAgICAgICAgICogV2l0aCBsaWJhdWRpdCB3 ZSBkb24ndCBrbm93IGJlZm9yZWhhbmQgd2hhdCBpcyB0aGUgbWF4X2lkLAo+ID4gLSAgICAgICAg ICAgICAgICAqIHNvIHdlIGxldCB0cmFjZV9fcmVhZF9zeXNjYWxsX2luZm8oKSBmaWd1cmUgdGhh dCBvdXQgYXMgd2UKPiA+IC0gICAgICAgICAgICAgICAgKiBnbyBvbiByZWFkaW5nIHN5c2NhbGxz Lgo+ID4gLSAgICAgICAgICAgICAgICAqLwo+ID4gLSAgICAgICAgICAgICAgIGVyciA9IHRyYWNl X19yZWFkX3N5c2NhbGxfaW5mbyh0cmFjZSwgaWQpOwo+ID4gLSAgICAgICAgICAgICAgIGlmIChl cnIpCj4gPiAtI2VuZGlmCj4gPiAgICAgICAgICAgICAgICAgZ290byBvdXRfY2FudF9yZWFkOwo+ ID4gICAgICAgICB9Cj4gPgo+ID4gZGlmZiAtLWdpdCBhL3Rvb2xzL3BlcmYvcGVyZi5jIGIvdG9v bHMvcGVyZi9wZXJmLmMKPiA+IGluZGV4IGEyOTg3ZjJjZmUxYTM5NThmNTMyMzllZDFhNGVlYzNm ODdkNzQ2NmEuLmYwNjE3Y2M0MWY1ZmU2Mzg5ODZlNWQ4MzE2YTZiMzA1NmMyYzRiYzUgMTAwNjQ0 Cj4gPiAtLS0gYS90b29scy9wZXJmL3BlcmYuYwo+ID4gKysrIGIvdG9vbHMvcGVyZi9wZXJmLmMK PiA+IEBAIC04NCw3ICs4NCw3IEBAIHN0YXRpYyBzdHJ1Y3QgY21kX3N0cnVjdCBjb21tYW5kc1td ID0gewo+ID4gICNlbmRpZgo+ID4gICAgICAgICB7ICJrdm0iLCAgICAgICAgY21kX2t2bSwgICAg ICAgIDAgfSwKPiA+ICAgICAgICAgeyAidGVzdCIsICAgICAgIGNtZF90ZXN0LCAgICAgICAwIH0s Cj4gPiAtI2lmIGRlZmluZWQoSEFWRV9MSUJUUkFDRUVWRU5UKSAmJiAoZGVmaW5lZChIQVZFX0xJ QkFVRElUX1NVUFBPUlQpIHx8IGRlZmluZWQoSEFWRV9TWVNDQUxMX1RBQkxFX1NVUFBPUlQpKQo+ ID4gKyNpZiBkZWZpbmVkKEhBVkVfTElCVFJBQ0VFVkVOVCkKPiA+ICAgICAgICAgeyAidHJhY2Ui LCAgICAgIGNtZF90cmFjZSwgICAgICAwIH0sCj4gPiAgI2VuZGlmCj4gPiAgICAgICAgIHsgImlu amVjdCIsICAgICBjbWRfaW5qZWN0LCAgICAgMCB9LAo+ID4gQEAgLTUxNCwxMCArNTE0LDYgQEAg aW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKiphcmd2KQo+ID4gICAgICAgICAgICAgICAg IGZwcmludGYoc3RkZXJyLAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgInRyYWNlIGNvbW1h bmQgbm90IGF2YWlsYWJsZTogbWlzc2luZyBsaWJ0cmFjZWV2ZW50IGRldmVsIHBhY2thZ2UgYXQg YnVpbGQgdGltZS5cbiIpOwo+ID4gICAgICAgICAgICAgICAgIGdvdG8gb3V0Owo+ID4gLSNlbGlm ICFkZWZpbmVkKEhBVkVfTElCQVVESVRfU1VQUE9SVCkgJiYgIWRlZmluZWQoSEFWRV9TWVNDQUxM X1RBQkxFX1NVUFBPUlQpCj4gPiAtICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsCj4gPiAt ICAgICAgICAgICAgICAgICAgICAgICAidHJhY2UgY29tbWFuZCBub3QgYXZhaWxhYmxlOiBtaXNz aW5nIGF1ZGl0LWxpYnMgZGV2ZWwgcGFja2FnZSBhdCBidWlsZCB0aW1lLlxuIik7Cj4gPiAtICAg ICAgICAgICAgICAgZ290byBvdXQ7Cj4gPiAgI2Vsc2UKPiA+ICAgICAgICAgICAgICAgICBzZXR1 cF9wYXRoKCk7Cj4gPiAgICAgICAgICAgICAgICAgYXJndlswXSA9ICJ0cmFjZSI7Cj4gPiBkaWZm IC0tZ2l0IGEvdG9vbHMvcGVyZi90ZXN0cy9tYWtlIGIvdG9vbHMvcGVyZi90ZXN0cy9tYWtlCj4g PiBpbmRleCBhN2ZjYmQ1ODk3NTJhOTA0NTk4MTViZDIxMDc1NTI4YzZkZmE0ZDk0Li4wZWU5NGNh ZjllYzE5ODIwYTk0YTg3ZGQ0NmE3Y2NmMWNlZmI4NDRhIDEwMDY0NAo+ID4gLS0tIGEvdG9vbHMv cGVyZi90ZXN0cy9tYWtlCj4gPiArKysgYi90b29scy9wZXJmL3Rlc3RzL21ha2UKPiA+IEBAIC04 Niw3ICs4Niw2IEBAIG1ha2Vfbm9fbGliZHdfZHdhcmZfdW53aW5kIDo9IE5PX0xJQkRXX0RXQVJG X1VOV0lORD0xCj4gPiAgbWFrZV9ub19iYWNrdHJhY2UgICA6PSBOT19CQUNLVFJBQ0U9MQo+ID4g IG1ha2Vfbm9fbGliY2Fwc3RvbmUgOj0gTk9fQ0FQU1RPTkU9MQo+ID4gIG1ha2Vfbm9fbGlibnVt YSAgICAgOj0gTk9fTElCTlVNQT0xCj4gPiAtbWFrZV9ub19saWJhdWRpdCAgICA6PSBOT19MSUJB VURJVD0xCj4gPiAgbWFrZV9ub19saWJiaW9uaWMgICA6PSBOT19MSUJCSU9OSUM9MQo+ID4gIG1h a2Vfbm9fYXV4dHJhY2UgICAgOj0gTk9fQVVYVFJBQ0U9MQo+ID4gIG1ha2Vfbm9fbGliYnBmICAg ICA6PSBOT19MSUJCUEY9MQo+ID4gQEAgLTk3LDcgKzk2LDYgQEAgbWFrZV9ub19saWJsbHZtICAg ICA6PSBOT19MSUJMTFZNPTEKPiA+ICBtYWtlX3dpdGhfYmFiZWx0cmFjZTo9IExJQkJBQkVMVFJB Q0U9MQo+ID4gIG1ha2Vfd2l0aF9jb3Jlc2lnaHQgOj0gQ09SRVNJR0hUPTEKPiA+ICBtYWtlX25v X3NkdCAgICAgICAgOj0gTk9fU0RUPTEKPiA+IC1tYWtlX25vX3N5c2NhbGxfdGJsIDo9IE5PX1NZ U0NBTExfVEFCTEU9MQo+ID4gIG1ha2Vfbm9fbGlicGZtNCAgICAgOj0gTk9fTElCUEZNND0xCj4g PiAgbWFrZV93aXRoX2d0azIgICAgICA6PSBHVEsyPTEKPiA+ICBtYWtlX3JlZmNudF9jaGVjayAg IDo9IEVYVFJBX0NGTEFHUz0iLURSRUZDTlRfQ0hFQ0tJTkc9MSIKPiA+IEBAIC0xMjIsMTAgKzEy MCwxMCBAQCBtYWtlX3N0YXRpYyAgICAgICAgIDo9IExERkxBR1M9LXN0YXRpYyBOT19QRVJGX1JF QURfVkRTTzMyPTEgTk9fUEVSRl9SRUFEX1ZEU09YMwo+ID4gICMgYWxsIHRoZSBOT18qIHZhcmlh YmxlIGNvbWJpbmVkCj4gPiAgbWFrZV9taW5pbWFsICAgICAgICA6PSBOT19MSUJQRVJMPTEgTk9f TElCUFlUSE9OPTEgTk9fR1RLMj0xCj4gPiAgbWFrZV9taW5pbWFsICAgICAgICArPSBOT19ERU1B TkdMRT0xIE5PX0xJQkVMRj0xIE5PX0JBQ0tUUkFDRT0xCj4gPiAtbWFrZV9taW5pbWFsICAgICAg ICArPSBOT19MSUJOVU1BPTEgTk9fTElCQVVESVQ9MSBOT19MSUJCSU9OSUM9MQo+ID4gK21ha2Vf bWluaW1hbCAgICAgICAgKz0gTk9fTElCTlVNQT0xIE5PX0xJQkJJT05JQz0xCj4gPiAgbWFrZV9t aW5pbWFsICAgICAgICArPSBOT19MSUJEV19EV0FSRl9VTldJTkQ9MSBOT19BVVhUUkFDRT0xIE5P X0xJQkJQRj0xCj4gPiAgbWFrZV9taW5pbWFsICAgICAgICArPSBOT19MSUJDUllQVE89MSBOT19T RFQ9MSBOT19KVk1UST0xIE5PX0xJQlpTVEQ9MQo+ID4gLW1ha2VfbWluaW1hbCAgICAgICAgKz0g Tk9fTElCQ0FQPTEgTk9fU1lTQ0FMTF9UQUJMRT0xIE5PX0NBUFNUT05FPTEKPiA+ICttYWtlX21p bmltYWwgICAgICAgICs9IE5PX0xJQkNBUD0xIE5PX0NBUFNUT05FPTEKPiA+Cj4gPiAgIyAkKHJ1 bikgY29udGFpbnMgYWxsIGF2YWlsYWJsZSB0ZXN0cwo+ID4gIHJ1biA6PSBtYWtlX3B1cmUKPiA+ IEBAIC0xNTgsNyArMTU2LDYgQEAgcnVuICs9IG1ha2Vfbm9fbGliZHdfZHdhcmZfdW53aW5kCj4g PiAgcnVuICs9IG1ha2Vfbm9fYmFja3RyYWNlCj4gPiAgcnVuICs9IG1ha2Vfbm9fbGliY2Fwc3Rv bmUKPiA+ICBydW4gKz0gbWFrZV9ub19saWJudW1hCj4gPiAtcnVuICs9IG1ha2Vfbm9fbGliYXVk aXQKPiA+ICBydW4gKz0gbWFrZV9ub19saWJiaW9uaWMKPiA+ICBydW4gKz0gbWFrZV9ub19hdXh0 cmFjZQo+ID4gIHJ1biArPSBtYWtlX25vX2xpYmJwZgo+ID4gZGlmZiAtLWdpdCBhL3Rvb2xzL3Bl cmYvdXRpbC9lbnYuYyBiL3Rvb2xzL3BlcmYvdXRpbC9lbnYuYwo+ID4gaW5kZXggZTI4NDNjYTJl ZGQ5MmVhNWZhMWMwMjBhZTkyYjE4M2M0OTZlOTc1ZS4uZTlhNjk0MzUwNjcxOTEwZDUzN2RlNTk5 MDcxZGJlN2ZjYzE4Y2VkNCAxMDA2NDQKPiA+IC0tLSBhL3Rvb2xzL3BlcmYvdXRpbC9lbnYuYwo+ ID4gKysrIGIvdG9vbHMvcGVyZi91dGlsL2Vudi5jCj4gPiBAQCAtNDc0LDEzICs0NzQsMTMgQEAg Y29uc3QgY2hhciAqcGVyZl9lbnZfX2FyY2goc3RydWN0IHBlcmZfZW52ICplbnYpCj4gPgo+ID4g IGNvbnN0IGNoYXIgKnBlcmZfZW52X19hcmNoX3N0cmVycm5vKHN0cnVjdCBwZXJmX2VudiAqZW52 IF9fbWF5YmVfdW51c2VkLCBpbnQgZXJyIF9fbWF5YmVfdW51c2VkKQo+ID4gIHsKPiA+IC0jaWYg ZGVmaW5lZChIQVZFX1NZU0NBTExfVEFCTEVfU1VQUE9SVCkgJiYgZGVmaW5lZChIQVZFX0xJQlRS QUNFRVZFTlQpCj4gPiArI2lmIGRlZmluZWQoSEFWRV9MSUJUUkFDRUVWRU5UKQo+ID4gICAgICAg ICBpZiAoZW52LT5hcmNoX3N0cmVycm5vID09IE5VTEwpCj4gPiAgICAgICAgICAgICAgICAgZW52 LT5hcmNoX3N0cmVycm5vID0gYXJjaF9zeXNjYWxsc19fc3RyZXJybm9fZnVuY3Rpb24ocGVyZl9l bnZfX2FyY2goZW52KSk7Cj4gPgo+ID4gICAgICAgICByZXR1cm4gZW52LT5hcmNoX3N0cmVycm5v ID8gZW52LT5hcmNoX3N0cmVycm5vKGVycikgOiAibm8gYXJjaCBzcGVjaWZpYyBzdHJlcnJubyBm dW5jdGlvbiI7Cj4gPiAgI2Vsc2UKPiA+IC0gICAgICAgcmV0dXJuICIhKEhBVkVfU1lTQ0FMTF9U QUJMRV9TVVBQT1JUICYmIEhBVkVfTElCVFJBQ0VFVkVOVCkiOwo+ID4gKyAgICAgICByZXR1cm4g IiFIQVZFX0xJQlRSQUNFRVZFTlQiOwo+ID4gICNlbmRpZgo+ID4gIH0KPiA+Cj4gPiBkaWZmIC0t Z2l0IGEvdG9vbHMvcGVyZi91dGlsL2dlbmVyYXRlLWNtZGxpc3Quc2ggYi90b29scy9wZXJmL3V0 aWwvZ2VuZXJhdGUtY21kbGlzdC5zaAo+ID4gaW5kZXggMWI1MTQwZTVjZTk5NzVmYWM4N2IyNjc0 ZGM2OTRmOWQ0ZTQzOWE1Zi4uNmE3M2M5MDNkNjkwNTBkZjY5MjY3YThhZWFlZWFjMWVkMTcwZWZl MSAxMDA3NTUKPiA+IC0tLSBhL3Rvb2xzL3BlcmYvdXRpbC9nZW5lcmF0ZS1jbWRsaXN0LnNoCj4g PiArKysgYi90b29scy9wZXJmL3V0aWwvZ2VuZXJhdGUtY21kbGlzdC5zaAo+ID4gQEAgLTM4LDcg KzM4LDcgQEAgZG8KPiA+ICBkb25lCj4gPiAgZWNobyAiI2VuZGlmIC8qIEhBVkVfTElCRUxGX1NV UFBPUlQgKi8iCj4gPgo+ID4gLWVjaG8gIiNpZiBkZWZpbmVkKEhBVkVfTElCVFJBQ0VFVkVOVCkg JiYgKGRlZmluZWQoSEFWRV9MSUJBVURJVF9TVVBQT1JUKSB8fCBkZWZpbmVkKEhBVkVfU1lTQ0FM TF9UQUJMRV9TVVBQT1JUKSkiCj4gPiArZWNobyAiI2lmIGRlZmluZWQoSEFWRV9MSUJUUkFDRUVW RU5UKSIKPiA+ICBzZWQgLW4gLWUgJ3MvXnBlcmYtXChbXiAgICAgICAgXSpcKVsgICBdLiogYXVk aXQqL1wxL3AnIGNvbW1hbmQtbGlzdC50eHQgfAo+ID4gIHNvcnQgfAo+ID4gIHdoaWxlIHJlYWQg Y21kCj4gPiBAQCAtNTEsNyArNTEsNyBAQCBkbwo+ID4gICAgICAgICAgICAgcAo+ID4gICAgICAg fScgIkRvY3VtZW50YXRpb24vcGVyZi0kY21kLnR4dCIKPiA+ICBkb25lCj4gPiAtZWNobyAiI2Vu ZGlmIC8qIEhBVkVfTElCVFJBQ0VFVkVOVCAmJiAoSEFWRV9MSUJBVURJVF9TVVBQT1JUIHx8IEhB VkVfU1lTQ0FMTF9UQUJMRV9TVVBQT1JUKSAqLyIKPiA+ICtlY2hvICIjZW5kaWYgLyogSEFWRV9M SUJUUkFDRUVWRU5UICovIgo+ID4KPiA+ICBlY2hvICIjaWZkZWYgSEFWRV9MSUJUUkFDRUVWRU5U Igo+ID4gIHNlZCAtbiAtZSAncy9ecGVyZi1cKFteICAgICAgICBdKlwpWyAgIF0uKiB0cmFjZWV2 ZW50LiovXDEvcCcgY29tbWFuZC1saXN0LnR4dCB8Cj4gPiBkaWZmIC0tZ2l0IGEvdG9vbHMvcGVy Zi91dGlsL3N5c2NhbGx0YmwuYyBiL3Rvb2xzL3BlcmYvdXRpbC9zeXNjYWxsdGJsLmMKPiA+IGlu ZGV4IDIxMGY2MWIwYTdhMjY0YTQyN2ViYjYwMjE4NWQzYTlkYTJmNDI2ZjQuLjkyOGFjYTRjZDZl OWYyZjI2YzVjNGZkODI1YjQ1MzhjMDY0YTRjYzMgMTAwNjQ0Cj4gPiAtLS0gYS90b29scy9wZXJm L3V0aWwvc3lzY2FsbHRibC5jCj4gPiArKysgYi90b29scy9wZXJmL3V0aWwvc3lzY2FsbHRibC5j Cj4gPiBAQCAtMTAsMjAgKzEwLDEyIEBACj4gPiAgI2luY2x1ZGUgPGxpbnV4L2NvbXBpbGVyLmg+ Cj4gPiAgI2luY2x1ZGUgPGxpbnV4L3phbGxvYy5oPgo+ID4KPiA+IC0jaWZkZWYgSEFWRV9TWVND QUxMX1RBQkxFX1NVUFBPUlQKPiA+ICAjaW5jbHVkZSA8c3RyaW5nLmg+Cj4gPiAgI2luY2x1ZGUg InN0cmluZzIuaCIKPiA+Cj4gPiAtI2lmIGRlZmluZWQoR0VORVJJQ19TWVNDQUxMX1RBQkxFKQo+ ID4gICNpbmNsdWRlIDxzeXNjYWxsX3RhYmxlLmg+Cj4gPiAgY29uc3QgaW50IHN5c2NhbGx0Ymxf bmF0aXZlX21heF9pZCA9IFNZU0NBTExUQkxfTUFYX0lEOwo+ID4gIHN0YXRpYyBjb25zdCBjaGFy ICpjb25zdCAqc3lzY2FsbHRibF9uYXRpdmUgPSBzeXNjYWxsdGJsOwo+ID4gLSNlbHNlCj4gPiAt Y29uc3QgaW50IHN5c2NhbGx0YmxfbmF0aXZlX21heF9pZCA9IDA7Cj4gPiAtc3RhdGljIGNvbnN0 IGNoYXIgKmNvbnN0IHN5c2NhbGx0YmxfbmF0aXZlW10gPSB7Cj4gPiAtICAgICAgIFswXSA9ICJ1 bmtub3duIiwKPiA+IC19Owo+ID4gLSNlbmRpZgo+ID4KPiA+ICBzdHJ1Y3Qgc3lzY2FsbCB7Cj4g PiAgICAgICAgIGludCBpZDsKPiA+IEBAIC0xMzEsNDcgKzEyMywzIEBAIGludCBzeXNjYWxsdGJs X19zdHJnbG9ibWF0Y2hfZmlyc3Qoc3RydWN0IHN5c2NhbGx0YmwgKnRibCwgY29uc3QgY2hhciAq c3lzY2FsbF9nCj4gPiAgICAgICAgICppZHggPSAtMTsKPiA+ICAgICAgICAgcmV0dXJuIHN5c2Nh bGx0YmxfX3N0cmdsb2JtYXRjaF9uZXh0KHRibCwgc3lzY2FsbF9nbG9iLCBpZHgpOwo+ID4gIH0K PiA+IC0KPiA+IC0jZWxzZSAvKiBIQVZFX1NZU0NBTExfVEFCTEVfU1VQUE9SVCAqLwo+ID4gLQo+ ID4gLSNpbmNsdWRlIDxsaWJhdWRpdC5oPgo+ID4gLQo+ID4gLXN0cnVjdCBzeXNjYWxsdGJsICpz eXNjYWxsdGJsX19uZXcodm9pZCkKPiA+IC17Cj4gPiAtICAgICAgIHN0cnVjdCBzeXNjYWxsdGJs ICp0YmwgPSB6YWxsb2Moc2l6ZW9mKCp0YmwpKTsKPiA+IC0gICAgICAgaWYgKHRibCkKPiA+IC0g ICAgICAgICAgICAgICB0YmwtPmF1ZGl0X21hY2hpbmUgPSBhdWRpdF9kZXRlY3RfbWFjaGluZSgp Owo+IAo+IHN0cnVjdCBzeXNjYWxsdGJsJ3MgYXVkaXRfbWFjaGluZSBpcyBub3cgdW51c2VkLCBy ZW1vdmU/CgpHb29kIHBvaW50LCB0aGFuayB5b3UhIFdpbGwgcmVtb3ZlIGluIG5leHQgdmVyc2lv bi4KCi0gQ2hhcmxpZQoKPiAKPiBUaGFua3MsCj4gSWFuCj4gCj4gPiAtICAgICAgIHJldHVybiB0 Ymw7Cj4gPiAtfQo+ID4gLQo+ID4gLXZvaWQgc3lzY2FsbHRibF9fZGVsZXRlKHN0cnVjdCBzeXNj YWxsdGJsICp0YmwpCj4gPiAtewo+ID4gLSAgICAgICBmcmVlKHRibCk7Cj4gPiAtfQo+ID4gLQo+ ID4gLWNvbnN0IGNoYXIgKnN5c2NhbGx0YmxfX25hbWUoY29uc3Qgc3RydWN0IHN5c2NhbGx0Ymwg KnRibCwgaW50IGlkKQo+ID4gLXsKPiA+IC0gICAgICAgcmV0dXJuIGF1ZGl0X3N5c2NhbGxfdG9f bmFtZShpZCwgdGJsLT5hdWRpdF9tYWNoaW5lKTsKPiA+IC19Cj4gPiAtCj4gPiAtaW50IHN5c2Nh bGx0YmxfX2lkKHN0cnVjdCBzeXNjYWxsdGJsICp0YmwsIGNvbnN0IGNoYXIgKm5hbWUpCj4gPiAt ewo+ID4gLSAgICAgICByZXR1cm4gYXVkaXRfbmFtZV90b19zeXNjYWxsKG5hbWUsIHRibC0+YXVk aXRfbWFjaGluZSk7Cj4gPiAtfQo+ID4gLQo+ID4gLWludCBzeXNjYWxsdGJsX19pZF9hdF9pZHgo c3RydWN0IHN5c2NhbGx0YmwgKnRibCBfX21heWJlX3VudXNlZCwgaW50IGlkeCkKPiA+IC17Cj4g PiAtICAgICAgIHJldHVybiBpZHg7Cj4gPiAtfQo+ID4gLQo+ID4gLWludCBzeXNjYWxsdGJsX19z dHJnbG9ibWF0Y2hfbmV4dChzdHJ1Y3Qgc3lzY2FsbHRibCAqdGJsIF9fbWF5YmVfdW51c2VkLAo+ ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnN5c2NhbGxf Z2xvYiBfX21heWJlX3VudXNlZCwgaW50ICppZHggX19tYXliZV91bnVzZWQpCj4gPiAtewo+ID4g LSAgICAgICByZXR1cm4gLTE7Cj4gPiAtfQo+ID4gLQo+ID4gLWludCBzeXNjYWxsdGJsX19zdHJn bG9ibWF0Y2hfZmlyc3Qoc3RydWN0IHN5c2NhbGx0YmwgKnRibCwgY29uc3QgY2hhciAqc3lzY2Fs bF9nbG9iLCBpbnQgKmlkeCkKPiA+IC17Cj4gPiAtICAgICAgIHJldHVybiBzeXNjYWxsdGJsX19z dHJnbG9ibWF0Y2hfbmV4dCh0YmwsIHN5c2NhbGxfZ2xvYiwgaWR4KTsKPiA+IC19Cj4gPiAtI2Vu ZGlmIC8qIEhBVkVfU1lTQ0FMTF9UQUJMRV9TVVBQT1JUICovCj4gPgo+ID4gLS0KPiA+IDIuMzQu MQo+ID4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxp bnV4LXJpc2N2IG1haWxpbmcgbGlzdApsaW51eC1yaXNjdkBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcmlzY3YK