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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 A6647FD377B for ; Wed, 25 Feb 2026 19:16:33 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 111B610E305; Wed, 25 Feb 2026 19:16:33 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.b="NBIuGH+q"; dkim=pass (2048-bit key; unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Iw77PMrW"; dkim-atps=neutral Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4B38710E305 for ; Wed, 25 Feb 2026 19:16:32 +0000 (UTC) Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61PB3Q4X1512005 for ; Wed, 25 Feb 2026 19:16:30 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= kdS/QntJSaGj5m5uHLTyiULnHKwPg/+0nR+soa0YEdU=; b=NBIuGH+qsITYkPXs Lof0N/6lSzDAv7Bpsm1A94Chi6YXXVYgoHooLmZ82JXaMITNohWCFCF5VA++xnoN yFJorSI5utmoSnY1IhQPWMnBVJp91XxB28WwAFzWVEGN3qSiQZCVtHkO5nZsRo2c JpJvOGSulZmLVv3Ty54oc1DNU2nIwPiaHIsLPqsoM1WW3qQCi34G+Bvjexxh6JlM uafSnrGYntn6CiqjATlu+MZVNOrBjrL6486X76+gARLA1z3DqX0pMoQtPXmQWMhN YH7S0MKzRKnXfjyz3xCY97lqnaDBIvi8uc5BjAJfkuSc/hfMmthY1ejzMJHJ1Gi+ Zxh29A== Received: from mail-dy1-f200.google.com (mail-dy1-f200.google.com [74.125.82.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4chyvf1hs8-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 25 Feb 2026 19:16:30 +0000 (GMT) Received: by mail-dy1-f200.google.com with SMTP id 5a478bee46e88-2ba8013a9e3so26885eec.0 for ; Wed, 25 Feb 2026 11:16:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1772046989; x=1772651789; darn=lists.freedesktop.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=kdS/QntJSaGj5m5uHLTyiULnHKwPg/+0nR+soa0YEdU=; b=Iw77PMrWm6OvkUg92qYmPTjdCzOOykcKQBOONFwWSjCer6XhX0eRsBFbACEUq4Oslq kzs3aSnymcxqHewTMoa6DHxnML5a0/SGgImOpqcuPGNa8kXj2Kn6AHB421NKGidK/gmz 1kUcOGiZMqh2xMhEjk6BKfU72eAOKx3FZ0wO8JAQpOSP0E5aRVpVBnGl7LmiDf8Fb3QG ggnA7ou9rUN4wh4dYAVrkGwO14Ae/+X9pn9gKF/bmGEqpGBqkeY+0XYub7Z4gxp4UiCm CWqNVAe+DajrMsbO4dsUK3/kJ1Tfj9Wk4l5CC6n04LReVNKGy8Gsef40GsGWKK27XvAx vLhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772046989; x=1772651789; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=kdS/QntJSaGj5m5uHLTyiULnHKwPg/+0nR+soa0YEdU=; b=Rgmhf2TYMBgQ261Vc781SvEa8qmo6tUueiHourAG1NCXVnZ9Er1nKzuMIJrv34eQkE 9pqVA2+h2m0PfwH9l3u+++DZV/ww5jLobg0OmF9NQrJ8B1qZgFmOaC9E4E7+ziJ4+Wgn xwMLpAC10Emwes93Uj3PpLjt9q7cjxHbhJ9d9XGU8BOZ9XjSW2SqSigBT0oxXpVKqffc J0IRs8pjf5GIczmBGdb7ZS2/XGF3GqsgjAOAAkgsp9kCBFCmoWZ+gX9tn8b93DfcJbnj xGBV2BXXTEpO3A9aD/cvwknPlgD/3DEmsa038MXDI7S2OFZAKzd6fPlJYlF6EhOwc69c f5Sg== X-Forwarded-Encrypted: i=1; AJvYcCVKzwZmSBFs8ST9d67iQQisazO8HbklEYxze3HgJTyDjLqta6TOwbFOwLWQmdI4xoPYNd/a23bxxE0=@lists.freedesktop.org X-Gm-Message-State: AOJu0YxtA9w6Grub7KI+R2MKaCxQu1IWN+gYl+j4uZj8eQFOv989S3fH cZKdq/UKllcsijRoRck896b25rG8UUnlHxT9kyI4smX7JQy+0+JKtUxUuzpwErZOCEtS8uiMPVK 7WlzNQ3tZ+9WnTF76i1iCXTs5vqWaciwgg/yaJXWQbeNZEoqDHTL5J11M+vQSWKphbj7R0j0= X-Gm-Gg: ATEYQzwNG4MLB4disBrBxiJOD1dpKrjMXTsNhsz1lz/p8/3F0o5Vwx2uYAPRsFYRn+h Dn9RVmIAsKMGAhhgzcJSIGu57BuZhlk8KwNbW4IDO/GO8kLUWW/tvbUgoQv2/tp4Cqi31KbHKVK 3o6ymUbx7SksJmApZG4xjSUNzbme7W5gSi9QUCligsSfIo0uw+9uTG72EIVkGTmIBWP1L+i768O icx7flUtvyBrv+9Hnyg7nxu7qWofgiKICEwhaUQNzjZp2X1gUylvewYETxWRc9Db0mdZRKCbD6U URUgOsdmyMKUUgsqsXcZZ/zyS9htEcU8KsVHY1ncXXS2xtndekKNI/+Vq6rtaT5tVLEIST0ww4R IcITuqefCzV1LE3e8gn481C0ceQUAlCVOaL522v5Tj1b101wxSc5UK54= X-Received: by 2002:a05:7301:434b:b0:2ba:990a:4829 with SMTP id 5a478bee46e88-2bd7bd112fcmr7841930eec.30.1772046989285; Wed, 25 Feb 2026 11:16:29 -0800 (PST) X-Received: by 2002:a05:7301:434b:b0:2ba:990a:4829 with SMTP id 5a478bee46e88-2bd7bd112fcmr7841890eec.30.1772046988649; Wed, 25 Feb 2026 11:16:28 -0800 (PST) Received: from [192.168.86.165] ([76.176.48.107]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2bd7dbe8304sm9699189eec.17.2026.02.25.11.16.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 25 Feb 2026 11:16:28 -0800 (PST) Message-ID: <4e4b50fe-1091-451e-b854-f7b061ebd88d@oss.qualcomm.com> Date: Wed, 25 Feb 2026 11:16:26 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH RFC 01/18] accel/qda: Add Qualcomm QDA DSP accelerator driver docs To: Bjorn Andersson , Ekansh Gupta Cc: Oded Gabbay , Jonathan Corbet , Shuah Khan , Joerg Roedel , Will Deacon , Robin Murphy , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Sumit Semwal , =?UTF-8?Q?Christian_K=C3=B6nig?= , dri-devel@lists.freedesktop.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org, iommu@lists.linux.dev, linux-media@vger.kernel.org, linaro-mm-sig@lists.linaro.org, Srinivas Kandagatla , Dmitry Baryshkov , Bharath Kumar , Chenna Kesava Raju References: <20260224-qda-firstpost-v1-0-fe46a9c1a046@oss.qualcomm.com> <20260224-qda-firstpost-v1-1-fe46a9c1a046@oss.qualcomm.com> <5a278b02-f2ad-408b-b0ad-f2297817bd7e@oss.qualcomm.com> Content-Language: en-US From: Trilok Soni In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Proofpoint-ORIG-GUID: ykh9RAmKHTUR4JQkc4bkyvZb1xTQ28qk X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjI1MDE4MCBTYWx0ZWRfX0GQw+REttg5q TOX61Owj7lmORcVdz6XU9JChJQpw4BU1A4hTYPK/JDQOUZ5O/DUwIRPvHN7+U81jG9A2KiQs9x/ dZFcHuJA+UXDOB0d8Hfz5EKxIAMkto6g0WaqNe6hkjx+cgvAcStNM97+lfPBoA9PHd57ymqnjWv rrDCIsvY88NyEsZNxuNQPKEy8687XP798bmgFDd1Bz0HQVdC1zFv3TUwJ+TU1UBvFt7XmLe2/8A uf68h+ePR3rmPXn9pd8i6XkjF81AiJO2//j3nK+JH/3iZ11KFJPkdsVf1DIQtDhHwfW5DPh7Dwz PH3hJ+foeYasWkNsztpP+mKRRiiUA88rENisYOOZlG1Ks3SAKDAkzrbFfYsZ9ywzfJcKvTpX1Gm j+Lq8b+uInE/oUXfitXFALfajOT9yAl4+yRDAFNNYqeD9P7HNaPpKwHtWJPskutP+DWYi/s1a0u 9Et3iWmc/d0fdUc+XjA== X-Proofpoint-GUID: ykh9RAmKHTUR4JQkc4bkyvZb1xTQ28qk X-Authority-Analysis: v=2.4 cv=dZWNHHXe c=1 sm=1 tr=0 ts=699f4a8e cx=c_pps a=PfFC4Oe2JQzmKTvty2cRDw==:117 a=lsoD3MMNObdLvy1227ExmA==:17 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=Vs6AG_5Z_IHWLNxo5LUA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10 a=6Ab_bkdmUrQuMsNx7PHu:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-25_02,2026-02-25_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 clxscore=1015 suspectscore=0 lowpriorityscore=0 phishscore=0 bulkscore=0 spamscore=0 impostorscore=0 adultscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2602130000 definitions=main-2602250180 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gMi8yNS8yMDI2IDc6MTIgQU0sIEJqb3JuIEFuZGVyc3NvbiB3cm90ZToKPiBPbiBXZWQsIEZl YiAyNSwgMjAyNiBhdCAwNzo0NzowOFBNICswNTMwLCBFa2Fuc2ggR3VwdGEgd3JvdGU6Cj4+Cj4+ Cj4+IE9uIDIvMjQvMjAyNiA5OjAzIEFNLCBUcmlsb2sgU29uaSB3cm90ZToKPj4+IE9uIDIvMjMv MjAyNiAxMTowOCBBTSwgRWthbnNoIEd1cHRhIHdyb3RlOgo+Pj4+IEFkZCBpbml0aWFsIGRvY3Vt ZW50YXRpb24gZm9yIHRoZSBRdWFsY29tbSBEU1AgQWNjZWxlcmF0b3IgKFFEQSkgZHJpdmVyCj4+ Pj4gaW50ZWdyYXRlZCBpbiB0aGUgRFJNIGFjY2VsIHN1YnN5c3RlbS4KPj4+Pgo+Pj4+IFRoZSBu ZXcgZG9jcyBpbnRyb2R1Y2UgUURBIGFzIGEgRFJNL2FjY2VsLWJhc2VkIGltcGxlbWVudGF0aW9u IG9mCj4+Pj4gSGV4YWdvbiBEU1Agb2ZmbG9hZCB0aGF0IGlzIGludGVuZGVkIGFzIGEgbW9kZXJu IGFsdGVybmF0aXZlIHRvIHRoZQo+Pj4+IGxlZ2FjeSBGYXN0UlBDIGRyaXZlciBpbiBkcml2ZXJz L21pc2MuIFRoZSB0ZXh0IGRlc2NyaWJlcyB0aGUgZHJpdmVyCj4+Pj4gbW90aXZhdGlvbiwgaGln aC1sZXZlbCBhcmNoaXRlY3R1cmUgYW5kIGludGVyYWN0aW9uIHdpdGggSU9NTVUgY29udGV4dAo+ Pj4+IGJhbmtzLCBHRU0tYmFzZWQgYnVmZmVyIG1hbmFnZW1lbnQgYW5kIHRoZSBSUE1zZyB0cmFu c3BvcnQuCj4+Pj4KPj4+PiBUaGUgdXNlci1zcGFjZSBmYWNpbmcgc2VjdGlvbiBkb2N1bWVudHMg dGhlIG1haW4gUURBIElPQ1RMcyB1c2VkIHRvCj4+Pj4gZXN0YWJsaXNoIERTUCBzZXNzaW9ucywg bWFuYWdlIEdFTSBidWZmZXIgb2JqZWN0cyBhbmQgaW52b2tlIHJlbW90ZQo+Pj4+IHByb2NlZHVy ZXMgdXNpbmcgdGhlIEZhc3RSUEMgcHJvdG9jb2wsIGFsb25nIHdpdGggYSB0eXBpY2FsIGxpZmVj eWNsZQo+Pj4+IGV4YW1wbGUgZm9yIGFwcGxpY2F0aW9ucy4KPj4+Pgo+Pj4+IEZpbmFsbHksIHRo ZSBkcml2ZXIgaXMgd2lyZWQgaW50byB0aGUgQ29tcHV0ZSBBY2NlbGVyYXRvcnMKPj4+PiBkb2N1 bWVudGF0aW9uIGluZGV4IHVuZGVyIERvY3VtZW50YXRpb24vYWNjZWwsIGFuZCBhIGJyaWVmIGRl YnVnZ2luZwo+Pj4+IHNlY3Rpb24gc2hvd3MgaG93IHRvIGVuYWJsZSBkeW5hbWljIGRlYnVnIGZv ciB0aGUgUURBIGltcGxlbWVudGF0aW9uLgo+Pj4gU28gZXhpc3RpbmcgYXBwbGljYXRpb25zIHdy aXR0ZW4gb3ZlciBjaGFyYWN0ZXIgZGV2aWNlIFVBUEkgbmVlZHMgdG8gYmUKPj4+IHJld3JpdHRl biBvdmVyIG5ldyBVQVBJIGFuZCBpdCB3aWxsIGJlIGJyb2tlbiBvbmNlIHRoaXMgZHJpdmVyIGdl dHMKPj4+IG1lcmdlZD8gQXJlIHdlIGdvaW5nIHRvIGtlZXAgYm90aCB0aGUgZHJpdmVycyBpbiB0 aGUgTGludXgga2VybmVsCj4+PiBhbmQgbm90IGRlcHJlY2F0ZSB0aGUgL2NoYXIgZGV2aWNlIG9u ZT8gCj4+Pgo+Pj4gSXMgUXVhbGNvbW0gZ29pbmcgdG8gcHJvdmlkZSB0aGUgd3JhcHBlciBsaWJy YXJ5IGluIHRoZSB1c2Vyc3BhY2UKPj4+IHNvIHRoYXQgZXhpc3RpbmcgYXBwbGljYXRpb25zIGJ5 IG91ciBjdXN0b21lcnMgYW5kIGRldmVsb3BlcnMKPj4+IGtlZXAgd29ya2luZyB3LyB0aGUgbmV3 ZXIga2VybmVsIGlmIHRoZSBjaGFyIGludGVyZmFjZSBiYXNlZAo+Pj4gZHJpdmVyIGdldHMgZGVw cmVjYXRlZD8gSXQgaXMgbm90IGNsZWFyIGZyb20geW91ciB0ZXh0IGFib3ZlLiAKPj4gVGhhbmtz IGZvciByYWlzaW5nIHRoaXMsIFRyaWxvay4KPj4KPj4gVGhpcyBpcyBvbmUgb2YgdGhlIG9wZW4g aXRlbXMgdGhhdCBJIGhhdmUuIEknbSBub3QgZXhhY3RseSBzdXJlIHdoYXQgd291bGQgYmUgdGhl Cj4+IGFjY2VwdGFibGUgd2F5IGZvciB0aGlzLsKgCj4+Cj4+IEFzIHlvdSBtZW50aW9uZWQsIGFw cGxpY2F0aW9ucyB0aGF0IHJlbHkgb24gL2Rldi9mYXN0cnBjKiBtaWdodCBub3Qgd29yayBvbiBR REEKPj4gd2l0aG91dCBtb2RpZmljYXRpb24uCj4+Cj4+IEkgd2FzIHRoaW5raW5nIGluIHRoZSBz YW1lIGxpbmVzIGFzIHlvdSBoYXZlIG1lbnRpb25lZCBhbmTCoCBoYXZpbmcgc29tZSBzaGltL2Nv bXBhdAo+PiBkcml2ZXIgdG8gdHJhbnNsYXRlIEZhc3RSUEMgVUFQSSB0byBRREEuIFRoZSBjb21w YXQgZHJpdmVyIHdvdWxkIGV4cG9zZSB0aGUgZXhpc3RpbmcKPj4gY2hhcmFjdGVyIGRldmljZXMg YW5kIHJvdXRlIHRoZSBjYWxscyB0byBRREEuIFRoZSBjb21wYXQgZHJpdmVyIGNvdWxkIGJlIGJ1 aWx0IHZpYSBLY29uZmlnLgo+Pgo+IAo+IFRoaXMgaXMgYSBmdW5kYW1lbnRhbCByZXF1aXJlbWVu dCwgeW91IG5lZWQgdG8gYWRkcmVzcyB0aGlzIGluIG9yZGVyIGZvcgo+IHRoaXMgdG8gbW92ZSBm b3J3YXJkLgo+IAo+IFdoaWNoIG1ha2VzIG1lIHdvbmRlciBpZiBpdCB3b3VsZCBiZSBwb3NzaWJs ZSB0byByZWFjaCBhbiBhY2NlbCBkcml2ZXIKPiB0aHJvdWdoIGluY3JlbWVudGFsIHRyYW5zaXRp b24gb2YgdGhlIGN1cnJlbnQgZHJpdmVyLCBpbnN0ZWFkIG9mIGp1c3QKPiBkcm9wcGluZyBpbiBh IGZldyB0aG91c2FuZCBsaW5lcyBvZiBuZXcgY29kZS9kZXNpZ24uCj4gCj4+IEhvd2V2ZXIsIEkg aGF2ZW7igJl0IGVuY291bnRlcmVkIGFuIGV4YW1wbGUgb2Ygc3VjaCBhIFVBUEnigJF0cmFuc2xh dGlvbiBkcml2ZXIgaW4gdGhlIGtlcm5lbAo+PiBiZWZvcmUsIHNvIEkgd291bGQgd2FudCBndWlk YW5jZSBmcm9tIG1haW50YWluZXJzIG9uIHdoZXRoZXIgdGhpcyBpcyBhbiBhY2NlcHRhYmxlCj4+ IG1vZGVsIG9yIG5vdC4KPj4KPj4gUmVnYXJkaW5nIHlvdXIgcXVlc3Rpb24gYWJvdXQgbGlicmFy eSwgYWxsIHRoZSBBUElzIGV4cG9zZWQgYnkgZ2l0aHViL2Zhc3RycGMgbGlicmFyeSBhcmUga2Vw dAo+PiB1bmNoYW5nZWQgaW4gdGVybXMgb2YgZGVmaW5pdGlvbnMgYW5kIGV4cGVjdGF0aW9uLiBU aGUgc2FtZSBwcm9qZWN0IGNhbiBiZSBidWlsZCBmb3IgYm90aAo+PiBGYXN0UlBDIGFuZCBRREEg YmFzZWQgb24gY29uZmlndXJlIG9wdGlvbnMuIFNvLCB0aGUgYXBwbGljYXRpb25zIHVzaW5nIGdp dGh1Yi9mYXN0cnBjIHNob3VsZAo+PiBub3QgZmFjZSBhbnkgcHJvYmxlbSBpZiB0aGUgbGlicyBp cyBidWlsdCB3aXRoIHByb3BlciBjb25maWd1cmUgb3B0aW9ucy4KPj4KPiAKPiBZb3UncmUgYXNz dW1pbmcgdGhhdCB0aGUga2VybmVsIGFuZCB1c2Vyc3BhY2UgYXJlIGEgdW5pZmllZCBwaWVjZSBv Zgo+IHNvZnR3YXJlLCB0aGV5IGFyZSBub3QuIEl0IG11c3QgYmUgcG9zc2libGUgZm9yIG1lIHRv IGluc3RhbGwgYSBuZXcKPiBrZXJuZWwgcGFja2FnZSB3aXRob3V0IGhhdmluZyB0byByZXBsYWNl IHRoZSB1c2Vyc3BhY2UgbGlicmFyaWVzLgoKVGhhbmsgeW91IEJqb3JuIGZvciBwcm92aWRpbmcg dGhlIGlucHV0cy4gCgpJIGFsc28gZm9yZXNlZSB0aGF0IHdlIHdpbGwgYmUgc3RvcCBhZGRpbmcg KG9yIGFscmVhZHkgaGFwcGVuZWQpIG5ldyBmZWF0dXJlcwppbnRvIHRoZSBleGlzdGluZyBmYXN0 cnBjIGRyaXZlciwgc28gY2FsbGluZyB0aGUgbmV3IGRyaXZlciBhcyBhbiBhbHRlcm5hdGl2ZQpp cyBpbiBvdmVyc29sZCBjYXRlZ29yeS4KCllvdSBhcmUgcHJldHR5IG11Y2ggYmVnYW4gdGhlIGRl cHJlY2F0aW5nIHRoZSBleGlzdGluZyBmYXN0cnBjIGRyaXZlciwgc28gbGV0J3MKanVzdCBtZW50 aW9uIGl0IGlmIHRoYXQgaXMgdGhlIGNhc2UgYW5kIHByb3ZpZGUgbWlncmF0aW9uL3NoaW0gcGF0 aCBzbyB0aGF0CmV4aXN0aW5nIGJpbmFyaWVzIGRvZXNuJ3QgYnJlYWsuCgotLS1Ucmlsb2sgU29u aQoK