From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5C27D83A1E for ; Wed, 14 Feb 2024 17:26:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707931577; cv=none; b=s6hwzR3zVX5O+HdQKeSlxDqSBbJpV90k/gSuCseeaJHRlHBVY6kCIMRj5SmdGPHFgWgRFR7d4eq5/pFBnZsLUkNdE0rfHpb/HDBeoQcerKXnM94WTi8iHvZqBHokvQKEk1/IKAw79QFC+LE5iSSoqoumgxB7mEzt+4exY+DanXE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707931577; c=relaxed/simple; bh=ZR999QFWhlwj9sKHPcpMJZ/et7mMOxmwea2xvciFQIA=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=Y1RoEDzCtcHtIE6oNw1m+gMRblbhAlcXgBEcAoq1GcAKwoojDKdQKthj0/hu9kF0KXpOjg+UO+iRXb5a/FfnslT9Oe0bATXcbEd/WDes+7yYKeKho3IJK4tC5SdpZAEFKPvbVKvIVAPA1PFDtWoLo4p/YSyqAiZ1G2bvjnYtw7k= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org; spf=pass smtp.mailfrom=baylibre.com; arc=none smtp.client-ip=209.85.210.175 Authentication-Results: smtp.subspace.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=baylibre.com Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-6e0cc8d740cso14300b3a.3 for ; Wed, 14 Feb 2024 09:26:16 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707931576; x=1708536376; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sfbN9O+KSahrVus1iQChDGWhup0O3IlmcoxDUZEy1yg=; b=LtxGb5xuGLKRO0no2IPhxIKNKux0AFDKIV/2ErBERiXpbcUfHHYILMeDcBsoXcwAvG j3JALQh8PDmrWKiYDqyS3m4qMNgT3OnDOpR29jVLgQ23KjF+a0yAZe5ofFf4gNqKme0T bnqJJVTTBVAw+UMtsmrYwXL+aXONww6WzpOK7kA0HOMLWXa5b6SQ6B2Ppgx3Z0rexS9s O1tdQdG4B/VclB5ZHzPju1V1SAez04VdFcRPbtJJzv+4KN57Y9kLHUsThWCOMXUCZBVy vhDC9GWh4R/KB1e07MUHbnA1vOLs4713p91Y95WxBrkTiyK4oi+douCOUo4oUdjAUllb C15Q== X-Forwarded-Encrypted: i=1; AJvYcCV3YFraQsgS7aBN5pBxckpDZFq1J3i51w7XRAkVzu1Iufp0lia69JpWsqFL0LVqJKuB8as4Y2X9UsiPRLljqTTQ5m8gQgPgHC39fw== X-Gm-Message-State: AOJu0Yz8ds7marw/4Ou+SRsUrbJK7TO13VBsSrNAi1qDWCmGyCuFLpgx kcpu/FQOhCbo+dgijWA7TO+EF3ab6YOr2G+Bmp5Mafw/fe+ZxdGIVjhriQ0+rdQ= X-Google-Smtp-Source: AGHT+IEkFlKlG9gHgg2wzSvoNAPS5Zw/ktf2OAya/unVNoKw8naljYOACbtnXrXICCJfzELhiJY0rg== X-Received: by 2002:aa7:9804:0:b0:6e0:4059:f420 with SMTP id e4-20020aa79804000000b006e04059f420mr2887975pfl.17.1707931574240; Wed, 14 Feb 2024 09:26:14 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCUwyH1bLgA5qBX1E7dX91URD4FYPUKmb98cON51ONK278Bgr0eCnGJwptBzBaV9kwVbG2ZeJNuDUrp3H16Pc7tRlbKt7n/gLq5V/XbGaXpJFGxYnJRcN7J9cBpoiE/TefwKO1jx9clCMgdsiYGmivKaNFH72uokn5nGFMr8dpSrmXTspWH0oq/l2yTddVhqiVF43kYOT87ZmQEFCMi0pB+FMi9lFlbnOGrt8d1g0qYlbhoN1PMSSPSHdHUP9xvqYKUg2vZlBIf3QFRjNyaIcMrY6/P7sQddPFlvflupOKhKdIDalQiblJQN74OIvgmjZljzxZMgODXuDo0A7/wLi2ulAK6t2fsbmCDWYfiyskex/q32KrtGe7uThgBkLeMpvAJ4dc+rE6Jdko6G1DssfudEdqVGD6A5RTNlTv65bDDgNaaKZgTu98rUHsT7cNe0ETJvXPErYIK5zdLjJpimoz+yBeLXK8q8noDVK7Ni38Y2Oei0Agto+ewch5bf2XxDPXIqSotjZN6IcjVaG4RC6VT4lABFD2yMXoL51RsxQuiflRAvg4AaRZ13tID9YWBGdTbMBvGvCgMfvSFAWfZWHCi/ Received: from localhost (71-212-63-227.tukw.qwest.net. [71.212.63.227]) by smtp.gmail.com with ESMTPSA id y26-20020aa793da000000b006e04c3b3b5asm9738938pff.175.2024.02.14.09.26.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Feb 2024 09:26:13 -0800 (PST) From: Kevin Hilman To: Conor Dooley , Bhargav Raviprakash Cc: arnd@arndb.de, broonie@kernel.org, conor+dt@kernel.org, devicetree@vger.kernel.org, gregkh@linuxfoundation.org, jpanis@baylibre.com, kristo@kernel.org, krzysztof.kozlowski+dt@linaro.org, lee@kernel.org, lgirdwood@gmail.com, linus.walleij@linaro.org, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, m.nirmaladevi@ltts.com, nm@ti.com, robh+dt@kernel.org, vigneshr@ti.com Subject: Re: [RESEND PATCH v1 03/13] dt-bindings: mfd: ti,tps6594: Add TI TPS65224 PMIC In-Reply-To: <20240214-galley-dweller-1e9872229d80@spud> References: <20240209-blitz-fidgety-78469aa80d6d@spud> <20240214093106.86483-1-bhargav.r@ltts.com> <20240214-galley-dweller-1e9872229d80@spud> Date: Wed, 14 Feb 2024 09:26:13 -0800 Message-ID: <7hil2r5556.fsf@baylibre.com> Precedence: bulk X-Mailing-List: linux-gpio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Conor Dooley writes: > On Wed, Feb 14, 2024 at 03:01:06PM +0530, Bhargav Raviprakash wrote: >> Hi Conor, >>=20 >> On Fri 2/9/2024 10:41 PM, Conor Dooley wrote: >> > On Thu, Feb 08, 2024 at 04:23:33PM +0530, Bhargav Raviprakash wrote: >> > > TPS65224 is a Power Management IC with 4 Buck regulators and 3 LDO >> > > regulators, it includes additional features like GPIOs, watchdog, ES= Ms >> > > (Error Signal Monitor), and PFSM (Pre-configurable Finite State Mach= ine) >> > > managing the state of the device. >> >=20 >> > > TPS6594 and TPS65224 have significant functional overlap. >> >=20 >> > What does "significant functional overlap" mean? Does one implement a >> > compatible subset of the other? I assume the answer is no, given there >> > seems to be some core looking registers at different addresses. >>=20 >> The intention behind =E2=80=9Csignificant functional overlap=E2=80=9D wa= s meant to >> indicate a lot of the features between TPS6594 and TPS65224 overlap, >> while there are some features specific to TPS65224. >> There is compatibility between the PMIC register maps, I2C, PFSM, >> and other drivers even though there are some core registers at >> different addresses. >>=20 >> Would it be more appropriate to say the 2 devices are compatible and have >> sufficient feature overlap rather than significant functional overlap? > > If core registers are at different addresses, then it is unlikely that > these devices are compatible. That's not necessarily true. Hardware designers can sometimes be creative. :) > In this context, compatible means that existing software intended for > the 6594 would run without modification on the 65224, although maybe > only supporting a subset of features. If that's not the case, then > the devices are not compatible. Compatible is a fuzzy term... so we need to get into the gray area. What's going on here is that this new part is derivative in many signifcant (but not all) ways from an existing similar part. When writing drivers for new, derivative parts, there's always a choice between 1) extending the existing driver (using a new compatible string & match table for the diffs) or 2) creating a new driver which will have a bunch of duplicated code. The first verion of this series[1] took the 2nd approach, but due to the significant functional (and feature) overlap, the recommendation was instead to take the "reuse" path to avoid signficant amounts of duplicated code. Of course, it's possible that while going down the "reuse" path, there may be a point where creating a separate driver for some aspects might make sense, but that needs to be justified. Based on a quick glance of what I see in this series so far (I have not done a detailed review), the differences with the new device look to me like they can be handled with chip-specific data in a match table. Kevin [1] https://lore.kernel.org/lkml/20231026133226.290040-1-sirisha.gairuboina= @Ltts.com/ 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 5610BC48BC3 for ; Wed, 14 Feb 2024 17:26:31 +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:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=W/XcKRUBeBq+FQzZUsKah+GzImxn9sEA8q5Xq3uAM4s=; b=rs8rcFMPLuoiJM fBL/17efCYWqqFtmkDwJ9fxtxTxC+6koSgqzoNq6OW8oSn3UUEsehpLUZ6mrrNiLkTYqGA45Cfh75 tQqtW78IofJnk/V3lvgGU2w0y3xt2vihFn8v+hvJo3DIuJenvOFH/1f7sDpl57yj1xu2jyVDuLvLL e22cGURY/22F0oJ074+w6X9wHyWTshQq995d2eyOvWAmAfyYbxgCRur2714zzqFPJnzZS/+W17aQs 9pHoX5CVZ+YdQYrZmFYPWCNQQIWgZTFhBZ4byZ/l8nKVAi4epJya171CSYlfwl0w7Bc4zaG5LFQTQ LW6XWki3wMYki5UVx5ew==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1raJ1X-0000000DiR8-47a0; Wed, 14 Feb 2024 17:26:19 +0000 Received: from mail-pf1-f176.google.com ([209.85.210.176]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1raJ1U-0000000DiPQ-3BPM for linux-arm-kernel@lists.infradead.org; Wed, 14 Feb 2024 17:26:18 +0000 Received: by mail-pf1-f176.google.com with SMTP id d2e1a72fcca58-6e0f4e3bc59so35471b3a.0 for ; Wed, 14 Feb 2024 09:26:16 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1707931576; x=1708536376; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=sfbN9O+KSahrVus1iQChDGWhup0O3IlmcoxDUZEy1yg=; b=Vw0bXkf+VRAUmypaYj6UIU/5xOqCHdEo/RBxCcBtGxlGP6mBDb2RyO48D5Nu94V8r9 szTaD0bafNNPjEiN0G8c+wRYsuCk9SJ+lPmZM02XbQsnrVa9nzLz/NbwAE4h3xWgR7gk gHzMU768mhHxkvwG8wINfPw08DtdK2fUeK/E7OBZZPaEtiTV98nRKTzL3yaFEI+9rt9S 0GULp0sZwYyhQk5OoD82sp/6CvxOcKlF2noL1hdzTqT5RfRZUUa0GFZ/raThebyuv7aA dRekHSnr2BPd4Inh4kxgohG9aaWqQ1Ai0CcooWFONdSjVfvsAFHB1F0U+6IxRM136bJa K9sw== X-Forwarded-Encrypted: i=1; AJvYcCWfdP9e50erQR7FfMLK9kgAIjp/IYcpT5gZ57anJW9fIOf6ve87XkQOzV5pyK3YSLQAhIWlFyM1ifVs5NOsiNREN7VjmgoEj605B6cih7oPDpebAm0= X-Gm-Message-State: AOJu0YwwnSc/AigIlDfH+9R1a0g9c/ujuJVg8nhdx6xL9XZo37iXDQdN L6W6UmGGlHStFjdUKB4pC8l2ny8nU7NyoRSKin3aBTYkzKBUxYDrDWFhoMkzhzPjL0G3uTMUlTA YSNE= X-Google-Smtp-Source: AGHT+IEkFlKlG9gHgg2wzSvoNAPS5Zw/ktf2OAya/unVNoKw8naljYOACbtnXrXICCJfzELhiJY0rg== X-Received: by 2002:aa7:9804:0:b0:6e0:4059:f420 with SMTP id e4-20020aa79804000000b006e04059f420mr2887975pfl.17.1707931574240; Wed, 14 Feb 2024 09:26:14 -0800 (PST) X-Forwarded-Encrypted: i=1; AJvYcCUwyH1bLgA5qBX1E7dX91URD4FYPUKmb98cON51ONK278Bgr0eCnGJwptBzBaV9kwVbG2ZeJNuDUrp3H16Pc7tRlbKt7n/gLq5V/XbGaXpJFGxYnJRcN7J9cBpoiE/TefwKO1jx9clCMgdsiYGmivKaNFH72uokn5nGFMr8dpSrmXTspWH0oq/l2yTddVhqiVF43kYOT87ZmQEFCMi0pB+FMi9lFlbnOGrt8d1g0qYlbhoN1PMSSPSHdHUP9xvqYKUg2vZlBIf3QFRjNyaIcMrY6/P7sQddPFlvflupOKhKdIDalQiblJQN74OIvgmjZljzxZMgODXuDo0A7/wLi2ulAK6t2fsbmCDWYfiyskex/q32KrtGe7uThgBkLeMpvAJ4dc+rE6Jdko6G1DssfudEdqVGD6A5RTNlTv65bDDgNaaKZgTu98rUHsT7cNe0ETJvXPErYIK5zdLjJpimoz+yBeLXK8q8noDVK7Ni38Y2Oei0Agto+ewch5bf2XxDPXIqSotjZN6IcjVaG4RC6VT4lABFD2yMXoL51RsxQuiflRAvg4AaRZ13tID9YWBGdTbMBvGvCgMfvSFAWfZWHCi/ Received: from localhost (71-212-63-227.tukw.qwest.net. [71.212.63.227]) by smtp.gmail.com with ESMTPSA id y26-20020aa793da000000b006e04c3b3b5asm9738938pff.175.2024.02.14.09.26.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Feb 2024 09:26:13 -0800 (PST) From: Kevin Hilman To: Conor Dooley , Bhargav Raviprakash Cc: arnd@arndb.de, broonie@kernel.org, conor+dt@kernel.org, devicetree@vger.kernel.org, gregkh@linuxfoundation.org, jpanis@baylibre.com, kristo@kernel.org, krzysztof.kozlowski+dt@linaro.org, lee@kernel.org, lgirdwood@gmail.com, linus.walleij@linaro.org, linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org, m.nirmaladevi@ltts.com, nm@ti.com, robh+dt@kernel.org, vigneshr@ti.com Subject: Re: [RESEND PATCH v1 03/13] dt-bindings: mfd: ti,tps6594: Add TI TPS65224 PMIC In-Reply-To: <20240214-galley-dweller-1e9872229d80@spud> References: <20240209-blitz-fidgety-78469aa80d6d@spud> <20240214093106.86483-1-bhargav.r@ltts.com> <20240214-galley-dweller-1e9872229d80@spud> Date: Wed, 14 Feb 2024 09:26:13 -0800 Message-ID: <7hil2r5556.fsf@baylibre.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240214_092616_822615_DDBA028C X-CRM114-Status: GOOD ( 28.75 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Q29ub3IgRG9vbGV5IDxjb25vckBrZXJuZWwub3JnPiB3cml0ZXM6Cgo+IE9uIFdlZCwgRmViIDE0 LCAyMDI0IGF0IDAzOjAxOjA2UE0gKzA1MzAsIEJoYXJnYXYgUmF2aXByYWthc2ggd3JvdGU6Cj4+ IEhpIENvbm9yLAo+PiAKPj4gT24gRnJpIDIvOS8yMDI0IDEwOjQxIFBNLCBDb25vciBEb29sZXkg d3JvdGU6Cj4+ID4gT24gVGh1LCBGZWIgMDgsIDIwMjQgYXQgMDQ6MjM6MzNQTSArMDUzMCwgQmhh cmdhdiBSYXZpcHJha2FzaCB3cm90ZToKPj4gPiA+IFRQUzY1MjI0IGlzIGEgUG93ZXIgTWFuYWdl bWVudCBJQyB3aXRoIDQgQnVjayByZWd1bGF0b3JzIGFuZCAzIExETwo+PiA+ID4gcmVndWxhdG9y cywgaXQgaW5jbHVkZXMgYWRkaXRpb25hbCBmZWF0dXJlcyBsaWtlIEdQSU9zLCB3YXRjaGRvZywg RVNNcwo+PiA+ID4gKEVycm9yIFNpZ25hbCBNb25pdG9yKSwgYW5kIFBGU00gKFByZS1jb25maWd1 cmFibGUgRmluaXRlIFN0YXRlIE1hY2hpbmUpCj4+ID4gPiBtYW5hZ2luZyB0aGUgc3RhdGUgb2Yg dGhlIGRldmljZS4KPj4gPiAKPj4gPiA+IFRQUzY1OTQgYW5kIFRQUzY1MjI0IGhhdmUgc2lnbmlm aWNhbnQgZnVuY3Rpb25hbCBvdmVybGFwLgo+PiA+IAo+PiA+IFdoYXQgZG9lcyAic2lnbmlmaWNh bnQgZnVuY3Rpb25hbCBvdmVybGFwIiBtZWFuPyBEb2VzIG9uZSBpbXBsZW1lbnQgYQo+PiA+IGNv bXBhdGlibGUgc3Vic2V0IG9mIHRoZSBvdGhlcj8gSSBhc3N1bWUgdGhlIGFuc3dlciBpcyBubywg Z2l2ZW4gdGhlcmUKPj4gPiBzZWVtcyB0byBiZSBzb21lIGNvcmUgbG9va2luZyByZWdpc3RlcnMg YXQgZGlmZmVyZW50IGFkZHJlc3Nlcy4KPj4gCj4+IFRoZSBpbnRlbnRpb24gYmVoaW5kIOKAnHNp Z25pZmljYW50IGZ1bmN0aW9uYWwgb3ZlcmxhcOKAnSB3YXMgbWVhbnQgdG8KPj4gaW5kaWNhdGUg YSBsb3Qgb2YgdGhlIGZlYXR1cmVzIGJldHdlZW4gVFBTNjU5NCBhbmQgVFBTNjUyMjQgb3Zlcmxh cCwKPj4gd2hpbGUgdGhlcmUgYXJlIHNvbWUgZmVhdHVyZXMgc3BlY2lmaWMgdG8gVFBTNjUyMjQu Cj4+IFRoZXJlIGlzIGNvbXBhdGliaWxpdHkgYmV0d2VlbiB0aGUgUE1JQyByZWdpc3RlciBtYXBz LCBJMkMsIFBGU00sCj4+IGFuZCBvdGhlciBkcml2ZXJzIGV2ZW4gdGhvdWdoIHRoZXJlIGFyZSBz b21lIGNvcmUgcmVnaXN0ZXJzIGF0Cj4+IGRpZmZlcmVudCBhZGRyZXNzZXMuCj4+IAo+PiBXb3Vs ZCBpdCBiZSBtb3JlIGFwcHJvcHJpYXRlIHRvIHNheSB0aGUgMiBkZXZpY2VzIGFyZSBjb21wYXRp YmxlIGFuZCBoYXZlCj4+IHN1ZmZpY2llbnQgZmVhdHVyZSBvdmVybGFwIHJhdGhlciB0aGFuIHNp Z25pZmljYW50IGZ1bmN0aW9uYWwgb3ZlcmxhcD8KPgo+IElmIGNvcmUgcmVnaXN0ZXJzIGFyZSBh dCBkaWZmZXJlbnQgYWRkcmVzc2VzLCB0aGVuIGl0IGlzIHVubGlrZWx5IHRoYXQKPiB0aGVzZSBk ZXZpY2VzIGFyZSBjb21wYXRpYmxlLgoKVGhhdCdzIG5vdCBuZWNlc3NhcmlseSB0cnVlLiAgSGFy ZHdhcmUgZGVzaWduZXJzIGNhbiBzb21ldGltZXMgYmUKY3JlYXRpdmUuIDopCgo+IEluIHRoaXMg Y29udGV4dCwgY29tcGF0aWJsZSBtZWFucyB0aGF0IGV4aXN0aW5nIHNvZnR3YXJlIGludGVuZGVk IGZvcgo+IHRoZSA2NTk0IHdvdWxkIHJ1biB3aXRob3V0IG1vZGlmaWNhdGlvbiBvbiB0aGUgNjUy MjQsIGFsdGhvdWdoIG1heWJlCj4gb25seSBzdXBwb3J0aW5nIGEgc3Vic2V0IG9mIGZlYXR1cmVz LiAgSWYgdGhhdCdzIG5vdCB0aGUgY2FzZSwgdGhlbgo+IHRoZSBkZXZpY2VzIGFyZSBub3QgY29t cGF0aWJsZS4KCkNvbXBhdGlibGUgaXMgYSBmdXp6eSB0ZXJtLi4uIHNvIHdlIG5lZWQgdG8gZ2V0 IGludG8gdGhlIGdyYXkgYXJlYS4KCldoYXQncyBnb2luZyBvbiBoZXJlIGlzIHRoYXQgdGhpcyBu ZXcgcGFydCBpcyBkZXJpdmF0aXZlIGluIG1hbnkKc2lnbmlmY2FudCAoYnV0IG5vdCBhbGwpIHdh eXMgZnJvbSBhbiBleGlzdGluZyBzaW1pbGFyIHBhcnQuICBXaGVuCndyaXRpbmcgZHJpdmVycyBm b3IgbmV3LCBkZXJpdmF0aXZlIHBhcnRzLCB0aGVyZSdzIGFsd2F5cyBhIGNob2ljZQpiZXR3ZWVu IDEpIGV4dGVuZGluZyB0aGUgZXhpc3RpbmcgZHJpdmVyICh1c2luZyBhIG5ldyBjb21wYXRpYmxl IHN0cmluZwomIG1hdGNoIHRhYmxlIGZvciB0aGUgZGlmZnMpIG9yIDIpIGNyZWF0aW5nIGEgbmV3 IGRyaXZlciB3aGljaCB3aWxsIGhhdmUKYSBidW5jaCBvZiBkdXBsaWNhdGVkIGNvZGUuCgpUaGUg Zmlyc3QgdmVyaW9uIG9mIHRoaXMgc2VyaWVzWzFdIHRvb2sgdGhlIDJuZCBhcHByb2FjaCwgYnV0 IGR1ZSB0byB0aGUKc2lnbmlmaWNhbnQgZnVuY3Rpb25hbCAoYW5kIGZlYXR1cmUpIG92ZXJsYXAs IHRoZSByZWNvbW1lbmRhdGlvbiB3YXMKaW5zdGVhZCB0byB0YWtlIHRoZSAicmV1c2UiIHBhdGgg dG8gYXZvaWQgc2lnbmZpY2FudCBhbW91bnRzIG9mCmR1cGxpY2F0ZWQgY29kZS4KCk9mIGNvdXJz ZSwgaXQncyBwb3NzaWJsZSB0aGF0IHdoaWxlIGdvaW5nIGRvd24gdGhlICJyZXVzZSIgcGF0aCwg dGhlcmUKbWF5IGJlIGEgcG9pbnQgd2hlcmUgY3JlYXRpbmcgYSBzZXBhcmF0ZSBkcml2ZXIgZm9y IHNvbWUgYXNwZWN0cyBtaWdodAptYWtlIHNlbnNlLCBidXQgdGhhdCBuZWVkcyB0byBiZSBqdXN0 aWZpZWQuICBCYXNlZCBvbiBhIHF1aWNrIGdsYW5jZSBvZgp3aGF0IEkgc2VlIGluIHRoaXMgc2Vy aWVzIHNvIGZhciAoSSBoYXZlIG5vdCBkb25lIGEgZGV0YWlsZWQgcmV2aWV3KSwKdGhlIGRpZmZl cmVuY2VzIHdpdGggdGhlIG5ldyBkZXZpY2UgbG9vayB0byBtZSBsaWtlIHRoZXkgY2FuIGJlIGhh bmRsZWQKd2l0aCBjaGlwLXNwZWNpZmljIGRhdGEgaW4gYSBtYXRjaCB0YWJsZS4KCktldmluCgpb MV0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGttbC8yMDIzMTAyNjEzMzIyNi4yOTAwNDAtMS1z aXJpc2hhLmdhaXJ1Ym9pbmFATHR0cy5jb20vCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1h cm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==