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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) (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 E0345CD98C6 for ; Thu, 11 Jun 2026 05:30:29 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wXXz6-0007lU-RK; Thu, 11 Jun 2026 01:29:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wXXz4-0007kX-NK for qemu-devel@nongnu.org; Thu, 11 Jun 2026 01:29:42 -0400 Received: from mx0a-0031df01.pphosted.com ([205.220.168.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wXXz1-0000q9-Nn for qemu-devel@nongnu.org; Thu, 11 Jun 2026 01:29:42 -0400 Received: from pps.filterd (m0279867.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65B5GIZp3791689 for ; Thu, 11 Jun 2026 05:29:28 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= hhoakWVabZ7IJR8eGDuXPSShTsj/f5bhJiXKe7ZTYNg=; b=NsoLpb5OjoaGj6qg RLPfwxJV2a6IgLVRB66+LslYCGPN3jCZBD+466tY0Bsap7ECrjq+XUCSanO6HDw8 eR0o7hcgf7hv6j/Aag5EPFutXsuSOFRn63O5L6WqXANWpGTVqE4A/+tEvp2bSo1G hmqDjQzm5P9XaVHKuZna+Bys3OccLwqJdEKmGY93Fr9rVj6XWz1PTHNJGH07gM4I 9dShh9PYyXzsnffA5KYGjv/JBxbS3aMxcsdhK8Gyxwrm/5jbjQ16rCQ4spCWn71+ qrvkuOTIl0TBkBVrU4DWKz9CWOW3TP8OOqIKBXsFQNzwGtJjnGwH8n5rgoHZzo/V hWwn1Q== Received: from mail-dy1-f198.google.com (mail-dy1-f198.google.com [74.125.82.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4eqe701s23-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 11 Jun 2026 05:29:28 +0000 (GMT) Received: by mail-dy1-f198.google.com with SMTP id 5a478bee46e88-307625ee07fso11473951eec.1 for ; Wed, 10 Jun 2026 22:29:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781155768; x=1781760568; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hhoakWVabZ7IJR8eGDuXPSShTsj/f5bhJiXKe7ZTYNg=; b=R5Ajt5Y9hAdV0P+T2AMtKnZFixll8tnF/RlRBffyuHy3/6jmtVpohpwx21PRBSMpV2 EVVzKotTHHedlUsNMTjlZDxjrM6iHhgrcp3IcmKxv2q3aN86NVFWXrmUOASLpFYNxjtd 2VK9srhTbc2VtqfaD3GKSg3u3iTw+MMEgvfnVuSTcjCILBJeW8jaNz+3isodS8xtvm/y kP/DAeLJpDOmQskUzdPim1ueJskQrV9T2qTVKrZMZPvYyV9O7J2FckJoRW/bTFBrq/GO iYUWNDqlvrKMlb73Jf6vGWSn7D33gSPAqBnx97+rzaso9Z0AykqLBJzuannckqjVHO2c rQhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781155768; x=1781760568; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=hhoakWVabZ7IJR8eGDuXPSShTsj/f5bhJiXKe7ZTYNg=; b=O7ohpQKHeQN15xAMhxIXvjmUnXH6owZsR6n9RZNwxur3oe9Mk4qmjao7eCoQWkhCOo nXdmI3au1GAwqOEdZAnsk3pZYuTYtwnAENOkL5QcwwMrQPkN1+NTMH10NOXyLrd5PAuB JL9EhQVR9HHSiiVkhKlv81vE4EK4HAJMiCmSrl88PU31QB/LT0LpAQhYNaJbJUfGb6c9 86G8QxR3M3PxCKwcFG7SRbINpCo28R7zhL7zNlKpBa21mu5BUEohlnO+CeoKEZYpo7CN eZOEQ4EFN4HN8iCfac0UITZ+IyAKa7G0BSbcb4IciIl3URNYAq16HpIC4DmSSsD7EUjt bxYA== X-Gm-Message-State: AOJu0YxaPopXkDg9XeMSXnXqi/ddAuZlsJbpqIcGa1eEyCTbIK2ITUnA afkDgp/lz05s9hQeXJlblmiXvHMh/URFIAMQyoy7EU9US20R9h31aHVkcVtpkG/nohheo9vy2E/ LSmZvL/FZGkXVZZ7bE7juGfVyYpCnknPO6KU4o5LXXIM65F2k3PPhhZMALWBmoTIxMg== X-Gm-Gg: Acq92OF/D6k9rIeKsTaI5sh/8KGa2Xq77f5eLB3JJqZlrsfV4Gv/gldMewzkm8OZFQ1 wnhtG9s4MXJjBBeWdDlKBytPVtHFAq6ZQBPevs2s76BGR4qRyxsZPGKGA/zR5GPgk+PzE2335uT XMbHRMSGQmwcLdkqheXi62eaxHFg2IF1QJEfjODGBkZmnAO1n7QwUxPSoeY5N+liYpAyHD8Hw57 f8TTZuU2yc6ZGzUUpWXvPL8+9PeoDeNtOtLJhI+8TLAZToahaMUX4vEE6flI5d3Mx172ZGcjQhB s1HPLrsW3gjni2WhGZNqs6DjtdFxdfu4ek050df5tyewIAoCepi9tR5TvZN0GDPHFXB20vAgqFb gpVg0oU+7V2WKs85NqZKCky0Ct1EYWb1HEoRGRRtnnTKYid9D2Rv5zY+Mldj5c8gPl6PsmO/7UI fg7iH2 X-Received: by 2002:a05:693c:62d3:b0:304:cefc:5fde with SMTP id 5a478bee46e88-30804a39eccmr649647eec.26.1781155767512; Wed, 10 Jun 2026 22:29:27 -0700 (PDT) X-Received: by 2002:a05:693c:62d3:b0:304:cefc:5fde with SMTP id 5a478bee46e88-30804a39eccmr649624eec.26.1781155766882; Wed, 10 Jun 2026 22:29:26 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-30806e8a402sm880475eec.17.2026.06.10.22.29.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 10 Jun 2026 22:29:25 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org Cc: brian.cain@oss.qualcomm.com, matheus.bernardino@oss.qualcomm.com, pierrick.bouvier@oss.qualcomm.com, ltaylorsimpson@gmail.com, philmd@mailo.org, philmd@oss.qualcomm.com, Brian Cain Subject: [PATCH v8] target/hexagon: Add imported macro, attr defs for sysemu Date: Wed, 10 Jun 2026 22:28:35 -0700 Message-Id: <20260611052857.3911981-15-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260611052857.3911981-1-brian.cain@oss.qualcomm.com> References: <20260611052857.3911981-1-brian.cain@oss.qualcomm.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjExMDA1MCBTYWx0ZWRfX39TYNPvHyoiP 5vfFcMOWPhFahr4zv/S9hWe5oUD5H3hO/kDvbuVGR+Aw9oIToiL4piLAKcEX+o4W9MZBmXr+DMZ /v1ScVAXiTQ3UbRw1e9BZ2cprgwiPmeH8ftxHehl56uBc+zH9r/WE7cvhbb7+5RV8C3brr1LNIE 7v+ot2CFtRrZyIFKMkDekfETSXTlv2vNSQQK+oapaN94I+VhDWuqqR0DkZw2W80ALORXXZYvwG9 CKT8tH4IZLe6neq8db8HtrxH+dqmxt0+BKHXvdPDmSdcq+BH/qwF5YXYy1LrdjfdMN3S6Lqhz4l 61mtfpfB8+PpgOHOxs5MnAQISMb32vjgack+soqrVuzM/lwZctX+uYfQ91QwZ+/7ds4sBWBconK p/ZAhiAqi/aOIXMjufn222j++rT0JYIgAJaDHWQTfzg9GZaWkvYQ0Ieg424s983JpIkKbd7sDbS UwJKROnPAkjKNOG/Jug== X-Proofpoint-Spam-Info: AW1haW4tMjYwNjExMDA1MCBTYWx0ZWRfX5NdhX7EOI0GW JOKd1kNAE2gTkPRcSWqKg9THH4ImNlGf3x1uKpop21sS53XtNoSBb/r2PrZX+2WEgUst71a9yCW yBaciZJgIJMvX4OaqMGu3nOL+kb5WSY= X-Proofpoint-GUID: 4NHI1hgmpZ_sulEidasGIru2hO6lPqd4 X-Proofpoint-ORIG-GUID: 4NHI1hgmpZ_sulEidasGIru2hO6lPqd4 X-Authority-Analysis: v=2.4 cv=Z5Tc2nRA c=1 sm=1 tr=0 ts=6a2a47b8 cx=c_pps a=wEP8DlPgTf/vqF+yE6f9lg==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=eoimf2acIAo5FJnRuUoq:22 a=COk6AnOGAAAA:8 a=EUspDBNiAAAA:8 a=9WelToRRDTwRCstGtewA:9 a=QEXdDO2ut3YA:10 a=bBxd6f-gb0O0v-kibOvt:22 a=TjNXssC_j7lpFel5tvFf:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-11_01,2026-06-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 bulkscore=0 adultscore=0 impostorscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 phishscore=0 priorityscore=1501 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606040000 definitions=main-2606110050 Received-SPF: pass client-ip=205.220.168.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0a-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UPPERCASE_50_75=0.008 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org RnJvbTogQnJpYW4gQ2FpbiA8YmNhaW5AcXVpY2luYy5jb20+CgpSZXZpZXdlZC1ieTogUGllcnJp Y2sgQm91dmllciA8cGllcnJpY2suYm91dmllckBvc3MucXVhbGNvbW0uY29tPgpTaWduZWQtb2Zm LWJ5OiBCcmlhbiBDYWluIDxicmlhbi5jYWluQG9zcy5xdWFsY29tbS5jb20+Ci0tLQogdGFyZ2V0 L2hleGFnb24vYXR0cmlic19kZWYuaC5pbmMgICB8ICAzNSArKy0KIHRhcmdldC9oZXhhZ29uL2lt cG9ydGVkL21hY3Jvcy5kZWYgfCA0ODIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDIg ZmlsZXMgY2hhbmdlZCwgNTA0IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQogbW9kZSBj aGFuZ2UgMTAwNzU1ID0+IDEwMDY0NCB0YXJnZXQvaGV4YWdvbi9pbXBvcnRlZC9tYWNyb3MuZGVm CgpkaWZmIC0tZ2l0IGEvdGFyZ2V0L2hleGFnb24vYXR0cmlic19kZWYuaC5pbmMgYi90YXJnZXQv aGV4YWdvbi9hdHRyaWJzX2RlZi5oLmluYwppbmRleCA5ZTNhMDVmODgyOC4uNmM1NTA2M2EzMDkg MTAwNjQ0Ci0tLSBhL3RhcmdldC9oZXhhZ29uL2F0dHJpYnNfZGVmLmguaW5jCisrKyBiL3Rhcmdl dC9oZXhhZ29uL2F0dHJpYnNfZGVmLmguaW5jCkBAIC01Miw2ICs1Miw5IEBAIERFRl9BVFRSSUIo UkVHV1JTSVpFXzRCLCAiTWVtb3J5IHdpZHRoIGlzIDQgYnl0ZXMiLCAiIiwgIiIpCiBERUZfQVRU UklCKFJFR1dSU0laRV84QiwgIk1lbW9yeSB3aWR0aCBpcyA4IGJ5dGVzIiwgIiIsICIiKQogREVG X0FUVFJJQihNRU1MSUtFLCAiTWVtb3J5LWxpa2UgaW5zdHJ1Y3Rpb24iLCAiIiwgIiIpCiBERUZf QVRUUklCKE1FTUxJS0VfUEFDS0VUX1JVTEVTLCAiZm9sbG93cyBNZW1vcnktbGlrZSBwYWNrZXQg cnVsZXMiLCAiIiwgIiIpCitERUZfQVRUUklCKENBQ0hFT1AsICJDYWNoZSBvcGVyYXRpb24iLCAi IiwgIiIpCitERUZfQVRUUklCKENPUEJZQUREUkVTUywgIkNhY2hlIG9wZXJhdGlvbiBieSBhZGRy ZXNzIiwgIiIsICIiKQorREVGX0FUVFJJQihDT1BCWUlEWCwgIkNhY2hlIG9wZXJhdGlvbiBieSBp bmRleCIsICIiLCAiIikKIERFRl9BVFRSSUIoUkVMRUFTRSwgIlJlbGVhc2VzIGEgbG9jayIsICIi LCAiIikKIERFRl9BVFRSSUIoQUNRVUlSRSwgIkFjcXVpcmVzIGEgbG9jayIsICIiLCAiIikKIApA QCAtMTAxLDcgKzEwNCw5IEBAIERFRl9BVFRSSUIoUk9QU18zLCAiQ29tcG91bmQgaW5zdHJ1Y3Rp b24gd29ydGggMyBSSVNDLW9wcyIsICIiLCAiIikKIAogLyogYWNjZXNzIHRvIGltcGxpY2l0IHJl Z2lzdGVycyAqLwogREVGX0FUVFJJQihJTVBMSUNJVF9XUklURVNfTFIsICJXcml0ZXMgdGhlIGxp bmsgcmVnaXN0ZXIiLCAiIiwgIlVSRUcuTFIiKQorREVGX0FUVFJJQihJTVBMSUNJVF9SRUFEU19Q QywgIlJlYWRzIHRoZSBwcm9ncmFtIGNvdW50ZXIiLCAiVVJFRy5QQyIsICIiKQogREVGX0FUVFJJ QihJTVBMSUNJVF9XUklURVNfU1AsICJXcml0ZXMgdGhlIHN0YWNrIHBvaW50ZXIiLCAiIiwgIlVS RUcuU1AiKQorREVGX0FUVFJJQihJTVBMSUNJVF9SRUFEU19TUCwgIlJlYWRzIHRoZSBzdGFjayBw b2ludGVyIiwgIlVSRUcuU1AiLCAiIikKIERFRl9BVFRSSUIoSU1QTElDSVRfV1JJVEVTX0ZQLCAi V3JpdGVzIHRoZSBmcmFtZSBwb2ludGVyIiwgIiIsICJVUkVHLkZQIikKIERFRl9BVFRSSUIoSU1Q TElDSVRfV1JJVEVTX0xDMCwgIldyaXRlcyBsb29wIGNvdW50IGZvciBsb29wIDAiLCAiIiwgIlVS RUcuTEMwIikKIERFRl9BVFRSSUIoSU1QTElDSVRfV1JJVEVTX0xDMSwgIldyaXRlcyBsb29wIGNv dW50IGZvciBsb29wIDEiLCAiIiwgIlVSRUcuTEMxIikKQEAgLTExMSwxMyArMTE2LDE5IEBAIERF Rl9BVFRSSUIoSU1QTElDSVRfV1JJVEVTX1AwLCAiV3JpdGVzIFByZWRpY2F0ZSAwIiwgIiIsICJV UkVHLlAwIikKIERFRl9BVFRSSUIoSU1QTElDSVRfV1JJVEVTX1AxLCAiV3JpdGVzIFByZWRpY2F0 ZSAxIiwgIiIsICJVUkVHLlAxIikKIERFRl9BVFRSSUIoSU1QTElDSVRfV1JJVEVTX1AyLCAiV3Jp dGVzIFByZWRpY2F0ZSAxIiwgIiIsICJVUkVHLlAyIikKIERFRl9BVFRSSUIoSU1QTElDSVRfV1JJ VEVTX1AzLCAiTWF5IHdyaXRlIFByZWRpY2F0ZSAzIiwgIiIsICJVUkVHLlAzIikKLURFRl9BVFRS SUIoSU1QTElDSVRfUkVBRFNfUEMsICJSZWFkcyB0aGUgUEMgcmVnaXN0ZXIiLCAiIiwgIiIpCi1E RUZfQVRUUklCKElNUExJQ0lUX1JFQURTX1AwLCAiUmVhZHMgdGhlIFAwIHJlZ2lzdGVyIiwgIiIs ICIiKQotREVGX0FUVFJJQihJTVBMSUNJVF9SRUFEU19QMSwgIlJlYWRzIHRoZSBQMSByZWdpc3Rl ciIsICIiLCAiIikKLURFRl9BVFRSSUIoSU1QTElDSVRfUkVBRFNfUDIsICJSZWFkcyB0aGUgUDIg cmVnaXN0ZXIiLCAiIiwgIiIpCi1ERUZfQVRUUklCKElNUExJQ0lUX1JFQURTX1AzLCAiUmVhZHMg dGhlIFAzIHJlZ2lzdGVyIiwgIiIsICIiKQorREVGX0FUVFJJQihJTVBMSUNJVF9SRUFEU19QMCwg IlJlYWRzIFByZWRpY2F0ZSAwIiwgIlVSRUcuUDAiLCAiIikKK0RFRl9BVFRSSUIoSU1QTElDSVRf UkVBRFNfUDEsICJSZWFkcyBQcmVkaWNhdGUgMSIsICJVUkVHLlAxIiwgIiIpCitERUZfQVRUUklC KElNUExJQ0lUX1JFQURTX1AzLCAiUmVhZHMgUHJlZGljYXRlIDMiLCAiVVJFRy5QMyIsICIiKQog REVGX0FUVFJJQihJTVBMSUNJVF9XUklURVNfVVNSLCAiTWF5IHdyaXRlIFVTUiIsICIiLCAiIikK LURFRl9BVFRSSUIoSU1QTElDSVRfUkVBRFNfU1AsICJSZWFkcyB0aGUgU1AgcmVnaXN0ZXIiLCAi IiwgIiIpCitERUZfQVRUUklCKElNUExJQ0lUX1dSSVRFU19DQ1IsICJXcml0ZXMgQ0NSIHJlZ2lz dGVyIiwgIiIsICJVUkVHLkNDUiIpCitERUZfQVRUUklCKElNUExJQ0lUX1dSSVRFU19HT1NQLCAi V3JpdGVzIEdPU1AgcmVnaXN0ZXIiLCAiIiwgIlVSRUcuR09TUCIpCitERUZfQVRUUklCKElNUExJ Q0lUX1dSSVRFU19TU1IsICJXcml0ZXMgU1NSIHJlZ2lzdGVyIiwgIiIsICJVUkVHLlNTUiIpCitE RUZfQVRUUklCKElNUExJQ0lUX1dSSVRFU19TR1AwLCAiV3JpdGVzIFNHUDAgcmVnaXN0ZXIiLCAi IiwgIlVSRUcuU0dQMCIpCitERUZfQVRUUklCKElNUExJQ0lUX1dSSVRFU19TR1AxLCAiV3JpdGVz IFNHUDEgcmVnaXN0ZXIiLCAiIiwgIlVSRUcuU0dQMSIpCitERUZfQVRUUklCKElNUExJQ0lUX1dS SVRFU19JTUFTS19BTllUSFJFQUQsCisgICAgIldyaXRlcyBJTUFTSyBmb3IgYW55IHRocmVhZCIs ICIiLCAiIikKK0RFRl9BVFRSSUIoSU1QTElDSVRfV1JJVEVTX1NUSURfUFJJT19BTllUSFJFQUQs CisgICAgIldyaXRlcyBTVElEIHByaW9yaXR5IGZvciBhbnkgdGhyZWFkIiwgIiIsICIiKQogREVG X0FUVFJJQihDT01NVVRFUywgIlRoZSBvcGVyYXRpb24gaXMgY29tbXVuaXRpdmUiLCAiIiwgIiIp CiBERUZfQVRUUklCKERFQUxMT0NSRVQsICJkZWFsbG9jX3JldHVybiIsICIiLCAiIikKIERFRl9B VFRSSUIoREVBTExPQ0ZSQU1FLCAiZGVhbGxvY2ZyYW1lIiwgIiIsICIiKQpAQCAtMTM3LDkgKzE0 OCwxNCBAQCBERUZfQVRUUklCKFJFU1RSSUNUX1NMT1QzT05MWSwgIk11c3QgZXhlY3V0ZSBvbiBz bG90MyIsICIiLCAiIikKIERFRl9BVFRSSUIoUkVTVFJJQ1RfTk9TTE9UMSwgIk5vIHNsb3QgMSBp bnN0cnVjdGlvbiBpbiBwYXJhbGxlbCIsICIiLCAiIikKIERFRl9BVFRSSUIoUkVTVFJJQ1RfUFJF RkVSU0xPVDAsICJUcnkgdG8gZW5jb2RlIGludG8gc2xvdCAwIiwgIiIsICIiKQogREVGX0FUVFJJ QihSRVNUUklDVF9QQUNLRVRfQVhPSywgIk1heSBleGlzdCB3aXRoIEEtdHlwZSBvciBYLXR5cGUi LCAiIiwgIiIpCitERUZfQVRUUklCKFJFU1RSSUNUX1NMT1QxX0FPSywgIlNsb3QgMSBpcyBhbGxv d2VkIiwgIiIsICIiKQogCiBERUZfQVRUUklCKElDT1AsICJJbnN0cnVjdGlvbiBjYWNoZSBvcCIs ICIiLCAiIikKIAorREVGX0FUVFJJQihFWENFUFRJT05fU1dJLCAiU29mdHdhcmUgaW50ZXJydXB0 IGV4Y2VwdGlvbiIsICIiLCAiIikKK0RFRl9BVFRSSUIoRE1BLCAiRE1BIGluc3RydWN0aW9uIiwg IiIsICIiKQorREVGX0FUVFJJQihOT19USU1JTkdfTE9HLCAiRG9lcyBub3QgZ2V0IGxvZ2dlZCB0 byB0aGUgdGltaW5nIG1vZGVsIiwgIiIsICIiKQorCiBERUZfQVRUUklCKEhXTE9PUDBfRU5ELCAi RW5kcyBIVyBsb29wMCIsICIiLCAiIikKIERFRl9BVFRSSUIoSFdMT09QMV9FTkQsICJFbmRzIEhX IGxvb3AxIiwgIiIsICIiKQogREVGX0FUVFJJQihSRVRfVFlQRSwgInJldHVybiB0eXBlIiwgIiIs ICIiKQpAQCAtMTUxLDYgKzE2NywxMCBAQCBERUZfQVRUUklCKERDRkVUQ0gsICJkY2ZldGNoIHR5 cGUiLCAiIiwgIiIpCiAKIERFRl9BVFRSSUIoTDJGRVRDSCwgIkluc3RydWN0aW9uIGlzIGwyZmV0 Y2ggdHlwZSIsICIiLCAiIikKIAorREVGX0FUVFJJQihEQ1RBR09QLCAiRGF0YSBjYWNoZSB0YWcg b3BlcmF0aW9uIiwgIiIsICIiKQorREVGX0FUVFJJQihJQ1RBR09QLCAiSW5zdHJ1Y3Rpb24gY2Fj aGUgdGFnIG9wZXJhdGlvbiIsICIiLCAiIikKK0RFRl9BVFRSSUIoTDJUQUdPUCwgIkwyIGNhY2hl IHRhZyBvcGVyYXRpb24iLCAiIiwgIiIpCisKIERFRl9BVFRSSUIoSUNJTlZBLCAiaWNpbnZhIiwg IiIsICIiKQogREVGX0FUVFJJQihEQ0NMRUFOSU5WQSwgImRjY2xlYW5pbnZhIiwgIiIsICIiKQog CkBAIC0xNjYsNiArMTg2LDkgQEAgREVGX0FUVFJJQihOT1RFX0xBVEVQUkVELCAiVGhlIHByZWRp Y2F0ZSBjYW4gbm90IGJlIHVzZWQgYXMgYSAubmV3IiwgIiIsICIiKQogREVGX0FUVFJJQihOT1RF X05WU0xPVDAsICJDYW4gZXhlY3V0ZSBvbmx5IGluIHNsb3QgMCAoU1QpIiwgIiIsICIiKQogREVG X0FUVFJJQihOT1RFX05PVlAsICJDYW5ub3QgYmUgcGFpcmVkIHdpdGggYSBIVlggcGVybXV0ZSBp bnN0cnVjdGlvbiIsICIiLCAiIikKIERFRl9BVFRSSUIoTk9URV9WQV9VTkFSWSwgIkNvbWJpbmVk IHdpdGggSFZYIEFMVSBvcCAobXVzdCBiZSB1bmFyeSkiLCAiIiwgIiIpCitERUZfQVRUUklCKE5P VEVfU0xPVDFfQU9LLCAiU2xvdCAxIGlzIGFsbG93ZWQiLCAiIiwgIiIpCitERUZfQVRUUklCKE5P VEVfR1VFU1QsICJHdWVzdCBtb2RlIGluc3RydWN0aW9uIiwgIiIsICIiKQorREVGX0FUVFJJQihO T1RFX0JBRFRBR19VTkRFRiwgIkJhZCB0YWcgcmVzdWx0cyBpbiB1bmRlZmluZWQgYmVoYXZpb3Ii LCAiIiwgIiIpCiAKIC8qIFY2IE1NVmVjdG9yIE5vdGVzIGZvciBEb2N1bWVudGF0aW9uICovCiBE RUZfQVRUUklCKE5PVEVfU0hJRlRfUkVTT1VSQ0UsICJVc2VzIHRoZSBIVlggc2hpZnQgcmVzb3Vy Y2UuIiwgIiIsICIiKQpkaWZmIC0tZ2l0IGEvdGFyZ2V0L2hleGFnb24vaW1wb3J0ZWQvbWFjcm9z LmRlZiBiL3RhcmdldC9oZXhhZ29uL2ltcG9ydGVkL21hY3Jvcy5kZWYKb2xkIG1vZGUgMTAwNzU1 Cm5ldyBtb2RlIDEwMDY0NAppbmRleCA0YmJjZmRkNWUxOS4uMTNlYjEzYzcxZjcKLS0tIGEvdGFy Z2V0L2hleGFnb24vaW1wb3J0ZWQvbWFjcm9zLmRlZgorKysgYi90YXJnZXQvaGV4YWdvbi9pbXBv cnRlZC9tYWNyb3MuZGVmCkBAIC0zNTMsNiArMzUzLDEyIEBAIERFRl9NQUNSTygKICAgICAoKQog KQogCitERUZfTUFDUk8oCisgICAgZlJFQURfU1NSLCAvKiByZWFkIFNTUiByZWdpc3RlciAqLwor ICAgIChSRUFEX1JSRUcoUkVHX1NTUikpLCAgICAgICAgICAvKiBiZWhhdmlvciAqLworICAgICgp CispCisKIERFRl9NQUNSTygKICAgICBmV1JJVEVfTFIsIC8qIHdyaXRlIGxyICovCiAgICAgV1JJ VEVfUlJFRyhSRUdfTFIsQSksICAgICAgICAgIC8qIGJlaGF2aW9yICovCkBAIC0zNzEsMTIgKzM3 NywzNiBAQCBERUZfTUFDUk8oCiAgICAgKEFfSU1QTElDSVRfV1JJVEVTX1NQKQogKQogCitERUZf TUFDUk8oCisgICAgZldSSVRFX0dPU1AsIC8qIHdyaXRlIGdvc3AgKi8KKyAgICBXUklURV9SUkVH KFJFR19HT1NQLEEpLCAgICAgICAgICAvKiBiZWhhdmlvciAqLworICAgIChBX0lNUExJQ0lUX1dS SVRFU19HT1NQKQorKQorCiBERUZfTUFDUk8oCiAgICAgZlJFQURfU1AsIC8qIHJlYWQgc3RhY2sg cG9pbnRlciAqLwogICAgIChSRUFEX1JSRUcoUkVHX1NQKSksICAgICAgICAgIC8qIGJlaGF2aW9y ICovCiAgICAgKCkKICkKIAorREVGX01BQ1JPKAorICAgIGZSRUFEX0dPU1AsIC8qIHJlYWQgZ3Vl c3Qgb3RoZXIgc3RhY2sgcG9pbnRlciAqLworICAgIChSRUFEX1JSRUcoUkVHX0dPU1ApKSwgICAg ICAgICAgLyogYmVoYXZpb3IgKi8KKyAgICAoKQorKQorCitERUZfTUFDUk8oCisgICAgZlJFQURf R0VMUiwgLyogcmVhZCBndWVzdCBvdGhlciBzdGFjayBwb2ludGVyICovCisgICAgKFJFQURfUlJF RyhSRUdfR0VMUikpLCAgICAgICAgICAvKiBiZWhhdmlvciAqLworICAgICgpCispCisKK0RFRl9N QUNSTygKKyAgICBmUkVBRF9HRVZCLCAvKiByZWFkIGd1ZXN0IG90aGVyIHN0YWNrIHBvaW50ZXIg Ki8KKyAgICAoUkVBRF9SUkVHKFJFR19HRVZCKSksICAgICAgICAgIC8qIGJlaGF2aW9yICovCisg ICAgKCkKKykKKwogREVGX01BQ1JPKAogICAgIGZSRUFEX0NTUkVHLCAvKiByZWFkICBDUyByZWdp c3RlciAqLwogICAgIChSRUFEX1JSRUcoUkVHX0NTQStOKSksICAgICAgICAgIC8qIGJlaGF2aW9y ICovCkBAIC01NzAsNiArNjAwLDExIEBAIERFRl9NQUNSTygKICAgICBXUklURV9QUkVHKDMsVkFM KSwgICAgIC8qIGJlaGF2aW9yICovCiAgICAgKEFfSU1QTElDSVRfV1JJVEVTX1AzKQogKQorREVG X01BQ1JPKAorCWZXUklURV9QM19MQVRFLCAvKiB3cml0ZSBQcmVkaWNhdGUgMCAqLworCXtXUklU RV9QUkVHKDMsVkFMKTsgZkhJREUoTUFSS19MQVRFX1BSRURfV1JJVEUoMykpfSAsICAgICAgICAg IC8qIGJlaGF2aW9yICovCisJKEFfSU1QTElDSVRfV1JJVEVTX1AzLEFfUkVTVFJJQ1RfTEFURVBS RUQpCispCiAKIERFRl9NQUNSTygKICAgICBmUEFSVDEsIC8qIHdyaXRlIFByZWRpY2F0ZSAwICov CkBAIC02NjAsNiArNjk1LDcgQEAgREVGX01BQ1JPKAogICAgICgoc2l6ZThzX3QpKChzaXplMnNf dCkoQSkpKSwKICAgICAvKiBvcHRpb25hbCBhdHRyaWJ1dGVzICovCiApCisKIERFRl9NQUNSTygK ICAgICBmQ0FTVDJfOHUsIC8qIG1hY3JvIG5hbWUgKi8KICAgICAoKHNpemU4dV90KSgoc2l6ZTJ1 X3QpKEEpKSksCkBAIC0xNTMyLDE4ICsxNTY4LDEzNyBAQCBERUZfTUFDUk8oZkVDSE8sCiAvKiBP UyBpbnRlcmZhY2UgYW5kIHN0b3Avd2FpdCAgICAgICAgICAgICAgICovCiAvKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKK0RFRl9NQUNSTyhSVU5OQUJMRV9U SFJFQURTX01BWCwKKyAgICAvKiAqLywKKyAgICAoKQorKQorCitERUZfTUFDUk8oVEhSRUFEX0lT X09OLAorICAgICgoUFJPQy0+YXJjaF9wcm9jX29wdGlvbnMtPnRocmVhZF9lbmFibGVfbWFzaz4+ VE5VTSkgJiAweDEpLAorICAgICgpCispCisKK0RFRl9NQUNSTyhUSFJFQURfRU5fTUFTSywKKyAg ICAoKFBST0MtPmFyY2hfcHJvY19vcHRpb25zLT50aHJlYWRfZW5hYmxlX21hc2spKSwKKyAgICAo KQorKQorCisKKworREVGX01BQ1JPKFJFQURfSU1BU0ssCisgICAgLyogKi8sCisgICAgKCkKKykK K0RFRl9NQUNSTyhXUklURV9JTUFTSywKKyAgICAvKiAqLywKKyAgICAoQV9JTVBMSUNJVF9XUklU RVNfSU1BU0tfQU5ZVEhSRUFEKQorKQorCisKK0RFRl9NQUNSTyhXUklURV9QUklPLAorICAgIC8q ICovLAorICAgIChBX0lNUExJQ0lUX1dSSVRFU19TVElEX1BSSU9fQU5ZVEhSRUFEKQorKQorCisK K0RFRl9NQUNSTyhET19JQVNTSUdOVywKKyAgICAvKiAqLywKKyAgICAoQV9JTVBMSUNJVF9XUklU RVNfSU1BU0tfQU5ZVEhSRUFEKQorKQorCisKKworCitERUZfTUFDUk8oZkRPX05NSSwKKyAgICAv KiAqLywKKykKKworREVGX01BQ1JPKGZET19UUkFDRSwKKyAgICAvKiAqLywKKykKKworREVGX01B Q1JPKERPX0lBU1NJR05SLAorICAgIC8qICovLAorICAgICgpCispCisKK0RFRl9NQUNSTyhET19T V0ksCisgICAgICAgIC8qICovLAorICAgICAgICAoQV9FWENFUFRJT05fU1dJKQorKQorCitERUZf TUFDUk8oRE9fQ1NXSSwKKyAgICAgICAgTE9HX0dMT0JBTF9SRUdfV1JJVEUoUkVHX0lQRU5ELEdM T0JBTF9SRUdfUkVBRChSRUdfSVBFTkQpICYgfigoUkVHKSAmIEdMT0JBTF9SRUdfUkVBRChSRUdf SUVMKSkpOywKKyAgICAgICAgKCkKKykKKworREVGX01BQ1JPKERPX0NJQUQsCisgICAgICAgIHN5 c19jaWFkKHRocmVhZCxWQUwpOyBMT0dfR0xPQkFMX1JFR19XUklURShSRUdfSUFELEdMT0JBTF9S RUdfUkVBRChSRUdfSUFEKSAmIH4oVkFMKSk7LAorICAgICAgICAoQV9FWENFUFRJT05fU1dJKQor KQorCitERUZfTUFDUk8oRE9fU0lBRCwKKyAgICAgICAgc3lzX3NpYWQodGhyZWFkLFZBTCk7IExP R19HTE9CQUxfUkVHX1dSSVRFKFJFR19JQUQsR0xPQkFMX1JFR19SRUFEKFJFR19JQUQpIHwgKFZB TCkpOywKKyAgICAgICAgKEFfRVhDRVBUSU9OX1NXSSkKKykKKworREVGX01BQ1JPKGZCUkVBSywK KyAgICAvKiAqLywKKyAgICAoKQorKQorCiBERUZfTUFDUk8oZlBBVVNFLAogICAgIHtzeXNfcGF1 c2UodGhyZWFkLCBpbnNuLT5zbG90LCBJTU0pO30sCiAgICAgKCkKICkKIAorCiBERUZfTUFDUk8o ZlRSQVAsCi0gICAgd2FybigiVHJhcCBOUEM9JXggIixmUkVBRF9OUEMoKSk7Ci0gICAgd2Fybigi VHJhcCBleGNlcHRpb24sIFBDWUNMRT0lbGxkIFRZUEU9JWQgTlBDPSV4IElNTT0weCV4Iix0aHJl YWQtPnByb2Nlc3Nvcl9wdHItPnBzdGF0c1twY3ljbGVzXSxUUkFQVFlQRSxmUkVBRF9OUEMoKSxJ TU0pOwotICAgIHJlZ2lzdGVyX3RyYXBfZXhjZXB0aW9uKHRocmVhZCxmUkVBRF9OUEMoKSxUUkFQ VFlQRSxJTU0pOywKKyAgICAvKiAqLywKKyAgICAoQV9FWENFUFRJT05fU1dJKQorKQorCitERUZf TUFDUk8oZkNMRUFSX1JURV9FWCwKKyAgICAgIC8qICovLAorICAgICAgKCkKKykKKworREVGX01B Q1JPKGZUTEJfTE9DS19BVkFJTEFCTEUsCisgICAgKGZSRUFEX0dMT0JBTF9SRUdfRklFTEQoU1lT Q09ORixTWVNDRkdfVExCTE9DSykgPT0gMCksCiAgICAgKCkKICkKIAorREVGX01BQ1JPKGZLMF9M T0NLX0FWQUlMQUJMRSwKKyAgICAoZlJFQURfR0xPQkFMX1JFR19GSUVMRChTWVNDT05GLFNZU0NG R19LMExPQ0spID09IDApLAorICAgICgpCispCisKK0RFRl9NQUNSTyhmU0VUX1RMQl9MT0NLLAor ICAgICAgeworICAgICAgaWYgKGZUTEJfTE9DS19BVkFJTEFCTEUoKSkgeworICAgICAgICBmTE9H X0dMT0JBTF9SRUdfRklFTEQoU1lTQ09ORixTWVNDRkdfVExCTE9DSywxKTsKKyAgICAgIH0gZWxz ZSB7CisgICAgICAgIHN5c193YWl0aW5nX2Zvcl90bGJfbG9jayh0aHJlYWQpOworICAgICAgfQor ICAgICAgfSwKKyAgICAgICgpCispCisKK0RFRl9NQUNSTyhmU0VUX0swX0xPQ0ssCisgICAgICAv KiAqLywKKyAgICAgICgpCispCisKK0RFRl9NQUNSTyhmQ0xFQVJfVExCX0xPQ0ssCisgICAgICAv KiAqLywKKyAgICAgICgpCispCisKK0RFRl9NQUNSTyhmQ0xFQVJfSzBfTE9DSywKKyAgICAgIC8q ICovLAorICAgICAgKCkKKykKKwogREVGX01BQ1JPKGZBTElHTl9SRUdfRklFTERfVkFMVUUsCiAg ICAgKChWQUwpPDxyZWdfZmllbGRfaW5mb1tGSUVMRF0ub2Zmc2V0KSwKICAgICAvKiAqLwpAQCAt MTU1NCw2ICsxNzA5LDI0IEBAIERFRl9NQUNSTyhmR0VUX1JFR19GSUVMRF9NQVNLLAogICAgIC8q ICovCiApCiAKK0RFRl9NQUNSTyhmTE9HX1JFR19GSUVMRCwKKyAgICBMT0dfTUFTS0VEX1JFR19X UklURSh0aHJlYWQsUkVHXyMjUkVHLAorICAgIGZBTElHTl9SRUdfRklFTERfVkFMVUUoRklFTEQs VkFMKSwKKyAgICBmR0VUX1JFR19GSUVMRF9NQVNLKEZJRUxEKSksCisgICAgKCkKKykKKworREVG X01BQ1JPKGZXUklURV9HTE9CQUxfUkVHX0ZJRUxELAorICAgIC8qICovLAorKQorCitERUZfTUFD Uk8oZkxPR19HTE9CQUxfUkVHX0ZJRUxELAorICAgIExPR19NQVNLRURfR0xPQkFMX1JFR19XUklU RShSRUdfIyNSRUcsCisgICAgICAgIGZBTElHTl9SRUdfRklFTERfVkFMVUUoRklFTEQsVkFMKSwK KyAgICAgICAgZkdFVF9SRUdfRklFTERfTUFTSyhGSUVMRCkpLAorICAgICgpCispCisKIERFRl9N QUNSTyhmUkVBRF9SRUdfRklFTEQsCiAgICAgZkVYVFJBQ1RVX0JJVFModGhyZWFkLT5SZWdzW1JF R18jI1JFR10sCiAgICAgICAgIHJlZ19maWVsZF9pbmZvW0ZJRUxEXS53aWR0aCwKQEAgLTE1NjEs NiArMTczNCwxMSBAQCBERUZfTUFDUk8oZlJFQURfUkVHX0ZJRUxELAogICAgIC8qIEFUVFJJQlMg Ki8KICkKIAorREVGX01BQ1JPKGZSRUFEX0dMT0JBTF9SRUdfRklFTEQsCisgICAgLyogKi8sCisg ICAgLyogQVRUUklCUyAqLworKQorCiBERUZfTUFDUk8oZkdFVF9GSUVMRCwKICAgICBmRVhUUkFD VFVfQklUUyhWQUwsCiAgICAgICAgIHJlZ19maWVsZF9pbmZvW0ZJRUxEXS53aWR0aCwKQEAgLTE1 NzYsNiArMTc1NCwxNzQgQEAgREVGX01BQ1JPKGZTRVRfRklFTEQsCiAgICAgLyogQVRUUklCUyAq LwogKQogCitERUZfTUFDUk8oZlNFVF9SVU5fTU9ERV9OT1csCisgICAgICAgIC8qICovLAorKQor CitERUZfTUFDUk8oZklOX0RFQlVHX01PREUsCisgICAgKHRocmVhZC0+ZGVidWdfbW9kZSB8fCAo ZlJFQURfR0xPQkFMX1JFR19GSUVMRChJU0RCU1QsSVNEQlNUX0RFQlVHTU9ERSkgJiAxPDxUTlVN KSksCisgICAgKCkKKykKK0RFRl9NQUNSTyhmSU5fREVCVUdfTU9ERV9OT19JU0RCLAorICAgICh0 aHJlYWQtPmRlYnVnX21vZGUpLAorICAgICgpCispCisKKworREVGX01BQ1JPKGZJTl9ERUJVR19N T0RFX1dBUk4sCisgICAgeworICAgICAgICBpZiAoZlJFQURfR0xPQkFMX1JFR19GSUVMRChJU0RC U1QsSVNEQlNUX0RFQlVHTU9ERSkgJiAxPDxUTlVNKQorICAgICAgICAgICAgd2FybigiSW4gSVNE QiBkZWJ1ZyBtb2RlLCBidXQgVEIgdG9sZCBtZSB0byBzdGVwIG5vcm1hbGx5Iik7CisgICAgfSwK KyAgICAoKQorKQorCitERUZfTUFDUk8oZkNMRUFSX1JVTl9NT0RFLAorICAgIHtmTE9HX0dMT0JB TF9SRUdfRklFTEQoTU9ERUNUTCxNT0RFQ1RMX0UsCisgICAgIGZSRUFEX0dMT0JBTF9SRUdfRklF TEQoTU9ERUNUTCxNT0RFQ1RMX0UpICYgfigxPDwoVE5VTSkpKX0sCisgICAgLyogTk9USElORyAq LworKQorCitERUZfTUFDUk8oZkNMRUFSX1JVTl9NT0RFX05PVywKKyAgICAvKiAqLywKKyAgICAv KiBOT1RISU5HICovCispCisKK0RFRl9NQUNSTyhmR0VUX1JVTl9NT0RFLAorICAgICAgICAvKiAq LywKKykKKworREVGX01BQ1JPKGZTRVRfV0FJVF9NT0RFLAorICAgIHtmTE9HX0dMT0JBTF9SRUdf RklFTEQoTU9ERUNUTCxNT0RFQ1RMX1csCisgICAgZlJFQURfR0xPQkFMX1JFR19GSUVMRChNT0RF Q1RMLE1PREVDVExfVykgfCAxPDwoVE5VTSkpfSwKKyAgICAvKiBOT1RISU5HICovCispCisKK0RF Rl9NQUNSTyhmQ0xFQVJfV0FJVF9NT0RFLAorICAgICAgICAvKiAqLywKKykKKworREVGX01BQ1JP KGZHRVRfV0FJVF9NT0RFLAorICAgICAgICAvKiAqLywKKykKKworCitERUZfTUFDUk8oZlJFU0VU X1RIUkVBRCwKKyAgICAgICAgcmVnaXN0ZXJfcmVzZXRfaW50ZXJydXB0KFQsTlVNKSwKKykKKwor REVGX01BQ1JPKGZSRUFEX0NVUlJFTlRfRVZCLAorICAgIChHTE9CQUxfUkVHX1JFQUQoUkVHX0VW QikpLAorICAgIC8qIG5vdGhpbmcgKi8KKykKKworREVGX01BQ1JPKGZSRUFEX0VMUiwKKyAgICBS RUFEX1JSRUcoUkVHX0VMUiksCisgICAgKCkKKykKKworREVGX01BQ1JPKGZQT1cyX0hFTFBfUk9V TkRVUCwKKyAgICAoKFZBTCkgfCAoKFZBTCkgPj4gMSkgfCAoKFZBTCkgPj4gMikgfCAoKFZBTCkg Pj4gNCkgfCAoKFZBTCkgPj4gOCkgfCAoKFZBTCkgPj4gMTYpKSwKKyAgICAoKQorKQorCitERUZf TUFDUk8oZlBPVzJfUk9VTkRVUCwKKyAgICBmUE9XMl9IRUxQX1JPVU5EVVAoKFZBTCktMSkrMSwK KyAgICAoKQorKQorCitERUZfTUFDUk8oZlRMQl9JRFhNQVNLLAorICAgIC8qICovLAorICAgICgp CispCisKK0RFRl9NQUNSTyhmVExCX05PTlBPVzJXUkFQLAorICAgIC8qICovLAorICAgIC8qIEFU VFJJQlMgKi8KKykKKworREVGX01BQ1JPKGZUTEJXLAorICAgIC8qICovLAorICAgIC8qIEFUVFJJ QlMgKi8KKykKKworREVGX01BQ1JPKGZUTEJfRU5UUllfT1ZFUkxBUCwKKyAgICBmSElERSggKHN5 c19jaGVja19vdmVybGFwKHRocmVhZCxWQUxVRSkhPS0yKSApLAorICAgIC8qIEFUVFJJQlMgKi8K KykKKworREVGX01BQ1JPKGZUTEJfRU5UUllfT1ZFUkxBUF9JRFgsCisgICAgZkhJREUoc3lzX2No ZWNrX292ZXJsYXAodGhyZWFkLFZBTFVFKSksCisgICAgLyogQVRUUklCUyAqLworKQorCisKK0RF Rl9NQUNSTyhmVExCUiwKKyAgICBUTEJfUkVHX1JFQUQoZlRMQl9OT05QT1cyV1JBUChmVExCX0lE WE1BU0soSU5ERVgpKSksCisgICAgLyogQVRUUklCUyAqLworKQorCitERUZfTUFDUk8oZlRMQlAs CisgICAgdGxiX2xvb2t1cCh0aHJlYWQsKChUTEJISSk+PjEyKSwoKFRMQkhJKTw8MTIpLDEpLAor ICAgIC8qIGF0dHJpYnMgKi8KKykKKworCisKK0RFRl9NQUNSTyhSRUFEX1NHUDAsCisgICAgUkVB RF9SUkVHKFJFR19TR1ApLAorICAgICgpCispCisKK0RFRl9NQUNSTyhSRUFEX1NHUDEsCisgICAg UkVBRF9SUkVHKFJFR19TR1ArMSksCisgICAgKCkKKykKKworREVGX01BQ1JPKFJFQURfU0dQMTAs CisgICAgUkVBRF9SUkVHX1BBSVIoUkVHX1NHUCksCisgICAgKCkKKykKKworREVGX01BQ1JPKFJF QURfVUdQLAorICAgIFJFQURfUlJFRyhSRUdfVUdQKSwKKykKKworREVGX01BQ1JPKFdSSVRFX1NH UDAsCisgICAgV1JJVEVfUlJFRyhSRUdfU0dQLFZBTCksCisgICAgKEFfSU1QTElDSVRfV1JJVEVT X1NHUDApCispCisKK0RFRl9NQUNSTyhXUklURV9TR1AxLAorICAgIFdSSVRFX1JSRUcoUkVHX1NH UCsxLFZBTCksCisgICAgKEFfSU1QTElDSVRfV1JJVEVTX1NHUDEpCispCisKK0RFRl9NQUNSTyhX UklURV9TR1AxMCwKKyAgICBXUklURV9SUkVHX1BBSVIoUkVHX1NHUCxWQUwpLAorICAgIChBX0lN UExJQ0lUX1dSSVRFU19TR1AwLEFfSU1QTElDSVRfV1JJVEVTX1NHUDEpCispCisKK0RFRl9NQUNS TyhXUklURV9VR1AsCisgICAgICAgIFdSSVRFX1JSRUcoUkVHX1VHUCxWQUwpLAorKQorCitERUZf TUFDUk8oZlNUQVJULAorICAgIC8qICovLAorICAgICgpCispCisKK0RFRl9NQUNSTyhmUkVTVU1F LAorICAgIGZMT0dfR0xPQkFMX1JFR19GSUVMRChNT0RFQ1RMLE1PREVDVExfVywKKyAgICBmUkVB RF9HTE9CQUxfUkVHX0ZJRUxEKE1PREVDVEwsTU9ERUNUTF9XKSAmICh+KFJFRykpKSwKKyAgICAo KQorKQorCitERUZfTUFDUk8oZkdFVF9UTlVNLAorICAgIHRocmVhZC0+dGhyZWFkSWQsCisgICAg KCkKKykKKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwog LyogQ2FjaGUgTWFuYWdlbWVudCAgICAgICAgICAgICAgICAgICAgICAgICAqLwogLyoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwpAQCAtMTYwMiwxOSArMTk0OCw0 OSBAQCBERUZfTUFDUk8oZklTWU5DLAogKQogCiAKK0RFRl9NQUNSTyhmSUNGRVRDSCwKKyAgICAs CisgICAgKCkKKykKKwogREVGX01BQ1JPKGZEQ0ZFVENILAogICAgIHN5c19kY2ZldGNoKHRocmVh ZCwgKFJFRyksIGluc24tPnNsb3QpLAogICAgIChBX01FTUxJS0UpCiApCiAKIERFRl9NQUNSTyhm SUNJTlZBLAotICAgIHsKLSAgICAgICAgYXJjaF9pbnRlcm5hbF9mbHVzaCh0aHJlYWQtPnByb2Nl c3Nvcl9wdHIsIDAsIDB4ZmZmZmZmZmYpOwotICAgICAgICBzeXNfaWNpbnZhKHRocmVhZCwgKFJF RyksaW5zbi0+c2xvdCk7Ci0gICAgfSwKKyAgICAvKiAqLywKICAgICAoQV9JQ0lOVkEpCiApCiAK K0RFRl9NQUNSTyhmRENUQUdSLAorICAgICh7RFNUPXN5c19kY3RhZ3IodGhyZWFkLCBJTkRFWCwg aW5zbi0+c2xvdCxEU1RSRUdOTyk7fSkvKiBGSVhNRSAqLywKKyAgICAoKQorKQorCitERUZfTUFD Uk8oZkRDVEFHVywKKyAgICAoc3lzX2RjdGFndyh0aHJlYWQsIElOREVYLCBQQVJUMiwgaW5zbi0+ c2xvdCkpLAorICAgICgpCispCitERUZfTUFDUk8oZklDVEFHUiwKKyAgICAoe0RTVD1zeXNfaWN0 YWdyKHRocmVhZCwgSU5ERVgsIGluc24tPnNsb3QsUkVHTk8pO30pLAorICAgICgpCispCisKK0RF Rl9NQUNSTyhmSUNEQVRBUiwKKyAgICAoe0RTVD1zeXNfaWNkYXRhcih0aHJlYWQsIElOREVYLCBp bnNuLT5zbG90KTt9KSwKKyAgICAoKQorKQorCitERUZfTUFDUk8oZklDVEFHVywKKyAgICAoc3lz X2ljdGFndyh0aHJlYWQsIElOREVYLCBQQVJUMiwgaW5zbi0+c2xvdCkpLAorICAgICgpCispCitE RUZfTUFDUk8oZklDREFUQVcsCisgICAgKHsgZkhJREUoKTsgfSksCisgICAgKCkKKykKKwogREVG X01BQ1JPKGZMMkZFVENILAogICAgIHN5c19sMmZldGNoKHRocmVhZCwgQUREUixIRUlHSFQsV0lE VEgsU1RSSURFLEZMQUdTLCBpbnNuLT5zbG90KSwKICAgICAoQV9NRU1MSUtFLEFfTDJGRVRDSCkK QEAgLTE2MzUsNiArMjAxMSwxMiBAQCBERUZfTUFDUk8oZkRDWkVST0EsCiAgICAgKEFfTUVNTElL RSkKICkKIAorREVGX01BQ1JPKGZEQ0lOVkEsCisgICAgc3lzX2RjaW52YSh0aHJlYWQsIChSRUcp KSwKKyAgICAoQV9NRU1MSUtFKQorKQorCisKIERFRl9NQUNSTyhmQ0hFQ0tGT1JQUklWLAogICAg IHtzeXNfY2hlY2tfcHJpdnModGhyZWFkKTsgaWYgKEVYQ0VQVElPTl9ERVRFQ1RFRCkgcmV0dXJu OyB9LAogICAgICgpCkBAIC0xNjQ1LDYgKzIwMjcsMTYgQEAgREVGX01BQ1JPKGZDSEVDS0ZPUkdV RVNULAogICAgICgpCiApCiAKK0RFRl9NQUNSTyhmVEFLRU5fSU5URVJSVVBUX0VER0VDTEVBUiwK KyAgICAgICAgeyBwcm9jLT5nbG9iYWxfcmVnc1tSRUdfSVBFTkRdICY9IH4oSU5UX05VTVRPTUFT SyhpbnRudW0pICYgcHJvYy0+Z2xvYmFsX3JlZ3NbUkVHX0lFTF0pOyB9LAorICAgICAgICAoKQor KQorCitERUZfTUFDUk8oZlNFVF9JQUQsCisgICAgLyogKi8sCisgICAgKCkKKykKKwogREVGX01B Q1JPKGZCUkFOQ0hfU1BFQ1VMQVRFX1NUQUxMLAogICAgIHsKICAgICAgICAgc3lzX3NwZWN1bGF0 ZV9icmFuY2hfc3RhbGwodGhyZWFkLCBpbnNuLT5zbG90LCBKVU1QX0NPTkQoSlVNUF9QUkVEX1NF VCksCkBAIC0xNjY0LDMgKzIwNTYsNzkgQEAgREVGX01BQ1JPKElWMURFQUQsCiAgICAgLAogICAg ICgpCiApCisKK0RFRl9NQUNSTyhmSU5fTU9OSVRPUl9NT0RFLAorICAgIHN5c19pbl9tb25pdG9y X21vZGUodGhyZWFkKSwKKyAgICAoKQorKQorCitERUZfTUFDUk8oZklOX1VTRVJfTU9ERSwKKyAg ICBzeXNfaW5fdXNlcl9tb2RlKHRocmVhZCksCisgICAgKCkKKykKKworREVGX01BQ1JPKGZJTl9H VUVTVF9NT0RFLAorICAgIHN5c19pbl9ndWVzdF9tb2RlKHRocmVhZCksCisgICAgKCkKKykKKwor REVGX01BQ1JPKGZHUkVfRU5BQkxFRCwKKyAgICBmUkVBRF9SRUdfRklFTEQoQ0NSLENDUl9HUkUp LAorICAgICgpCispCisKK0RFRl9NQUNSTyhmR1RFX0VOQUJMRUQsCisgICAgZlJFQURfUkVHX0ZJ RUxEKENDUixDQ1JfR1JFKSwKKyAgICAoKQorKQorCitERUZfTUFDUk8oZlRSQVAxX1ZJUlRJTlNO LAorICAgICgoZklOX0dVRVNUX01PREUoKSkKKyAgICAgJiYgKGZHUkVfRU5BQkxFRCgpKQorICAg ICAmJiAoICAgKChJTU0pID09IDEpCisgICAgICAgICB8fCAoKElNTSkgPT0gMykKKyAgICAgICAg IHx8ICgoSU1NKSA9PSA0KQorICAgICAgICAgfHwgKChJTU0pID09IDYpKSksCisgICAgKCkKKykK KworREVGX01BQ1JPKGZWSVJUSU5TTl9SVEUsCisgICAgZG8geworICAgICAgICB0aHJlYWQtPnRy YXAxX2luZm8gPSBUUkFQMV9WSVJUSU5TTl9SVEU7CisgICAgICAgIGZMT0dfUkVHX0ZJRUxEKFNT UixTU1JfU1MsZlJFQURfUkVHX0ZJRUxEKEdTUixHU1JfU1MpKTsKKyAgICAgICAgZkxPR19SRUdf RklFTEQoQ0NSLENDUl9HSUUsZlJFQURfUkVHX0ZJRUxEKEdTUixHU1JfSUUpKTsKKyAgICAgICAg ZkxPR19SRUdfRklFTEQoU1NSLFNTUl9HTSwhZlJFQURfUkVHX0ZJRUxEKEdTUixHU1JfVU0pKTsK KyAgICAgICAgZkJSQU5DSCgoZlJFQURfR0VMUigpICYgLTQpLENPRl9UWVBFX1JURSk7CisgICAg ICAgIGZJTlRFUk5BTF9DTEVBUl9TQU1FUEFHRSgpOworICAgIH0gd2hpbGUgKDApLAorICAgIChB X0lNUExJQ0lUX1dSSVRFU19DQ1IsQV9JTVBMSUNJVF9XUklURVNfU1NSKQorKQorCitERUZfTUFD Uk8oZlZJUlRJTlNOX1NFVElFLAorICAgIGRvIHsKKyAgICAgICAgZkxPR19SRUdfRklFTEQoQ0NS LENDUl9HSUUsKFJFRykgJiAxKTsKKyAgICAgICAgUkVHID0gZlJFQURfUkVHX0ZJRUxEKENDUixD Q1JfR0lFKTsKKyAgICAgICAgdGhyZWFkLT50cmFwMV9pbmZvID0gVFJBUDFfVklSVElOU05fU0VU SUU7CisgICAgfSB3aGlsZSAoMCksCisgICAgKEFfSU1QTElDSVRfV1JJVEVTX0NDUikKKykKKwor REVGX01BQ1JPKGZWSVJUSU5TTl9HRVRJRSwKKyAgICB7CisgICAgICAgIHRocmVhZC0+dHJhcDFf aW5mbyA9IFRSQVAxX1ZJUlRJTlNOX0dFVElFOworICAgICAgICBSRUcgPSBmUkVBRF9SRUdfRklF TEQoQ0NSLENDUl9HSUUpOworICAgIH0sCisgICAgKCkKKykKKworREVGX01BQ1JPKGZWSVJUSU5T Tl9TUFNXQVAsCisgICAgZG8geworICAgICAgICBpZiAoZlJFQURfUkVHX0ZJRUxEKEdTUixHU1Jf VU0pKSB7CisgICAgICAgICAgICBzaXplNHVfdCBURU1QID0gUkVHOworICAgICAgICAgICAgUkVH ID0gZlJFQURfR09TUCgpOworICAgICAgICAgICAgZldSSVRFX0dPU1AoVEVNUCk7CisgICAgICAg ICAgICB0aHJlYWQtPnRyYXAxX2luZm8gPSBUUkFQMV9WSVJUSU5TTl9TUFNXQVA7CisgICAgICAg IH0KKyAgICB9IHdoaWxlICgwKSwKKyAgICAoQV9JTVBMSUNJVF9XUklURVNfR09TUCkKKykKLS0g CjIuMzQuMQoK