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 B9FF2C433EF for ; Mon, 20 Jun 2022 18:22:33 +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:From:References:Cc:To: Subject:MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=5CHYnSUYVRxnO0SnyRBRRJInEIfVzzLWdwjUfqpiTXg=; b=VTtQjniTDbI1O7 cmB4hE8JCx3tEPb43LY4pLwflZxCpHNpM/foDK/2CMRe3mDQTNQHrjVxzB1Y/cXbk3laoUl+tz8wi GnOBAUX+FmtHL5Ie+APyxHqanFKE+d3eorlXqP4kTUh0WZz/j1oVYGkX/jkpS2+kF16bvJBg6+zP2 lAfGkukRLyGtYJQtxjUwTnI/iA4M9m0C2CnJbonUr6CEbinVzqe5uI5oE740SocUl76cEbAduoXSB Q+sVavAyy3W6oSPAVeEEwgdvYVaV8Hq6V2i83Qu2TmObbLYKeQCHRJL1Mytgvxn5P9G47GNbzw/N2 cb5lNxLnBz4TIFjQ71GA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1o3M1h-001qc3-PM; Mon, 20 Jun 2022 18:21:30 +0000 Received: from mail-ej1-x636.google.com ([2a00:1450:4864:20::636]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1o3M1d-001qZg-Tx for linux-arm-kernel@lists.infradead.org; Mon, 20 Jun 2022 18:21:28 +0000 Received: by mail-ej1-x636.google.com with SMTP id mf9so2396737ejb.0 for ; Mon, 20 Jun 2022 11:21:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=JKrFM89GcLLmQzO5VtM/39MP/BwY1t9bzpGPMCQw5cw=; b=kplp5cKbDB4UPvO89H/A/gMYJqBuSsiENMl2dskLkx4cnEtB1U4mlYuoocCqWv+LMQ P7We1BghIcsWReR1qfdnKoBkV9bQYm5iOQjK4OYwkZiGDBLxqkgnuJ8pxP/mfXGc0uE8 04TZae6y4SRfjIdZrRDIEz84dXla2/8MvhE/ll9g+JNUHmfGecQFsSnkniVHe75jJyU3 8IJM3M4JSdAzn2GhwbDJGiLKkF2PU/EvtDaEwNIGqSo1wgn1NVZ814cBQJsyde1oaVNi qrjy43nkNKsqadU5X6wup/pBp/yoQVBWX6RBvGbqp6z+TfU6LxOHMBD0r25y0asFHzpn sDLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=JKrFM89GcLLmQzO5VtM/39MP/BwY1t9bzpGPMCQw5cw=; b=w5rGhJM98sVqJNn5MRIDjdRuxOMy/p4OhLcZxkC/CacNeoTd+198yA2VHRu9QJj9TO LlrkHx6JbfyQ8QaTCLLjgcxEctMtPR4gYqjd+OcFqvXa5sncIdrQEi88Vp2YuXXfXtmR n9xmRS+wCeOiuJIKoFfkOSuFm1pmpqsaS+zGyask7H0ifeO4oxiM2MnSC9vZ9OXxnukF ufX1qFBvrSiug0lwOlNdQPpYaXez2f7RNEJJI+qo7FjU7w6++7Xicyac8gq1EcMBcmms OiiBCAXHY9rx4e2KuJkr1XKGpC4F+dBA0R5XgESdGv5nKpQzxuBhbx1K0WBU8S7f0VZl OWBA== X-Gm-Message-State: AJIora9YaguS8Fk/y07lfLhqpY39VNqDfYdkVG/kaFZ/RoLAlKxqfAJ7 2PUFBUL4kY8SocgfwsVVElBZwg== X-Google-Smtp-Source: AGRyM1uU+h0eNcLepUwfCZPxnKsoOuZISOXhWBa6OpWpG2eHFKz1yGXrq/lIFbv+++FWA/ArNtVRhw== X-Received: by 2002:a17:907:2d13:b0:711:b149:5272 with SMTP id gs19-20020a1709072d1300b00711b1495272mr22450007ejc.326.1655749282114; Mon, 20 Jun 2022 11:21:22 -0700 (PDT) Received: from [192.168.0.211] (xdsl-188-155-176-92.adslplus.ch. [188.155.176.92]) by smtp.gmail.com with ESMTPSA id c18-20020a05640227d200b0042617ba6396sm11332328ede.32.2022.06.20.11.21.20 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 20 Jun 2022 11:21:21 -0700 (PDT) Message-ID: Date: Mon, 20 Jun 2022 20:21:19 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Subject: Re: [PATCH net-next 01/28] dt-bindings: phy: Add QorIQ SerDes binding Content-Language: en-US To: Sean Anderson , "David S . Miller" , Jakub Kicinski , Madalin Bucur , netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Paolo Abeni , Russell King , Eric Dumazet , Kishon Vijay Abraham I , Krzysztof Kozlowski , Rob Herring , Vinod Koul , devicetree@vger.kernel.org, linux-phy@lists.infradead.org References: <20220617203312.3799646-1-sean.anderson@seco.com> <20220617203312.3799646-2-sean.anderson@seco.com> <110c4a4b-8007-1826-ee27-02eaedd22d8f@linaro.org> <535a0389-6c97-523d-382f-e54d69d3907e@seco.com> <16684442-35d4-df51-d9f7-4de36d7cf6fd@linaro.org> <50fa16ce-ac24-8e4c-5d81-0218535cd05c@seco.com> From: Krzysztof Kozlowski In-Reply-To: <50fa16ce-ac24-8e4c-5d81-0218535cd05c@seco.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220620_112126_022876_FB0A7F4B X-CRM114-Status: GOOD ( 65.09 ) 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 T24gMjAvMDYvMjAyMiAxOToxOSwgU2VhbiBBbmRlcnNvbiB3cm90ZToKPiAKPiAKPiBPbiA2LzIw LzIyIDY6NTQgQU0sIEtyenlzenRvZiBLb3psb3dza2kgd3JvdGU6Cj4+IE9uIDE5LzA2LzIwMjIg MTc6NTMsIFNlYW4gQW5kZXJzb24gd3JvdGU6Cj4+Pj4+Cj4+Pj4+Pj4gKyAgICAgICAgICBUaGUg Zmlyc3QgbGFuZSBpbiB0aGUgZ3JvdXAuIExhbmVzIGFyZSBudW1iZXJlZCBiYXNlZCBvbiB0aGUg cmVnaXN0ZXIKPj4+Pj4+PiArICAgICAgICAgIG9mZnNldHMsIG5vdCB0aGUgSS9PIHBvcnRzLiBU aGlzIGNvcnJlc3BvbmRzIHRvIHRoZSBsZXR0ZXItYmFzZWQKPj4+Pj4+PiArICAgICAgICAgICgi TGFuZSBBIikgbmFtaW5nIHNjaGVtZSwgYW5kIG5vdCB0aGUgbnVtYmVyLWJhc2VkICgiTGFuZSAw IikgbmFtaW5nCj4+Pj4+Pj4gKyAgICAgICAgICBzY2hlbWUuIE9uIG1vc3QgU29DcywgIkxhbmUg QSIgaXMgIkxhbmUgMCIsIGJ1dCBub3QgYWx3YXlzLgo+Pj4+Pj4+ICsgICAgICAgIG1pbmltdW06 IDAKPj4+Pj4+PiArICAgICAgICBtYXhpbXVtOiA3Cj4+Pj4+Pj4gKyAgICAgIC0gZGVzY3JpcHRp b246IHwKPj4+Pj4+PiArICAgICAgICAgIExhc3QgbGFuZS4gRm9yIHNpbmdsZS1sYW5lIHByb3Rv Y29scywgdGhpcyBzaG91bGQgYmUgdGhlIHNhbWUgYXMgdGhlCj4+Pj4+Pj4gKyAgICAgICAgICBm aXJzdCBsYW5lLgo+Pj4+Pj4+ICsgICAgICAgIG1pbmltdW06IDAKPj4+Pj4+PiArICAgICAgICBt YXhpbXVtOiA3Cj4+Pj4+Pj4gKwo+Pj4+Pj4+ICsgIGNvbXBhdGlibGU6Cj4+Pj4+Pj4gKyAgICBl bnVtOgo+Pj4+Pj4+ICsgICAgICAtIGZzbCxsczEwNDZhLXNlcmRlcy0xCj4+Pj4+Pj4gKyAgICAg IC0gZnNsLGxzMTA0NmEtc2VyZGVzLTIKPj4+Pj4+Cj4+Pj4+PiBEb2VzIG5vdCBsb29rIGxpa2Ug cHJvcGVyIGNvbXBhdGlibGUgYW5kIHlvdXIgZXhwbGFuYXRpb24gZnJvbSBjb21taXQKPj4+Pj4+ IG1zZyBkaWQgbm90IGhlbHAgbWUuIFdoYXQgIjEiIGFuZCAiMiIgc3RhbmQgZm9yPyBVc3VhbGx5 IGNvbXBhdGlibGVzCj4+Pj4+PiBjYW5ub3QgaGF2ZSBzb21lIGFyYml0cmFyeSBwcm9wZXJ0aWVz IGVuY29kZWQuCj4+Pj4+Cj4+Pj4+IEVhY2ggc2VyZGVzIGhhcyBhIGRpZmZlcmVudCBzZXQgb2Yg c3VwcG9ydGVkIHByb3RvY29scyBmb3IgZWFjaCBsYW5lLiBUaGlzIGlzIGVuY29kZWQKPj4+Pj4g aW4gdGhlIGRyaXZlciBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29tcGF0aWJsZQo+Pj4+Cj4+ Pj4gSW1wbGVtZW50YXRpb24gZG9lcyBub3QgbWF0dGVyLgo+Pj4KPj4+IE9mICpjb3Vyc2UqIGlt cGxlbWVudGF0aW9uIG1hdHRlcnMuIERldmljZXRyZWUgYmluZGluZ3MgZG8gbm90IGhhcHBlbiBp biBhIHZhY3V1bS4gVGhleQo+Pj4gZGVzY3JpYmUgdGhlIGhhcmR3YXJlLCBidXQgb25seSBpbiBz ZXJ2aWNlIHRvIHRoZSBpbXBsZW1lbnRhdGlvbi4KPj4KPj4gVGhpcyBpcyBzbyBub3QgdHJ1ZS4g PiBCaW5kaW5ncyBkbyBub3Qgc2VydmljZSBpbXBsZW1lbnRhdGlvbi4gQmluZGluZ3MKPj4gaGFw cGVuIGluIHZhY3V1bQo+IAo+IFdoZXJlIGFyZSBhbGwgdGhlIGJpbmRpbmdzIGZvciBoYXJkd2Fy ZSB3aXRob3V0IGRyaXZlcnM/Cj4gCj4gV2h5IGRvbid0IGRldmljZSB0cmVlcyBkZXNjcmliZSB0 aGUgZW50aXJlIGhhcmR3YXJlIGJlZm9yZSBhbnkgZHJpdmVycyBhcmUgd3JpdHRlbj8KPiAKPiBB Y3R1YWxseSwgSSBoYXZlIHNlZW4gc29tZSBkZXZpY2UgdHJlZXMgd3JpdHRlbiBsaWtlIHRoYXQg KGJha2VkIGludG8gdGhlIGNoaXAncyBST00pLAo+IGFuZCB0aGV5IGNhbm5vdCBiZSB1c2VkIGJl Y2F1c2UgdGhlIGJpbmRpbmdzCj4gCj4gLSBEbyBub3QgZnVsbHkgZGVzY3JpYmUgdGhlIGhhcmR3 YXJlIChlLmcuIGNsb2NrcywgcmVzZXRzLCBpbnRlcnJ1cHRzLCBhbmQgb3RoZXIgdGhpbmdzKQo+ IC0gRG8gbm90IGRlc2NyaWJlIHRoZSBoYXJkd2FyZSBpbiBhIGNvbXBhdGlibGUgd2F5IChlLmcu IHVzaW5nIGRpZmZlcmVudCBuYW1lcyBmb3IKPiAgIHJlZ2lzdGVycyBhbmQgY2xvY2tzLCBvciBv cmRlcmluZyBmaWVsZHMgZGlmZmVyZW50bHkpLgo+IC0gQ29udGFpbiB0eXBvcyBhbmQgZXJyb3Jz IChzaW5jZSB0aGV5IHdlcmUgbmV2ZXIgdXNlZCkKPiAKPiBUaGVzZSBzYW1lIGlzc3VlcyBhcHBs eSB0byBhbnkgbmV3IGJpbmRpbmcgZG9jdW1lbnRhdGlvbi4gQ2xhaW1pbmcgdGhhdCBiaW5kaW5n cyBoYXBwZW4KPiBpbiBhIHZhY3V1bSBpcyBkZSBmYWN0byB1bnRydWUsIGFuZCB3b3VsZCBiZSB1 bnNvdW5kIHByYWN0aWNlIGlmIGl0IHdhc24ndC4KPiAKPj4gYmVjYXVzZSB0aGV5IGFyZSB1c2Vk IGJ5IGRpZmZlcmVudCBpbXBsZW1lbnRhdGlvbnM6Cj4+IExpbnV4LCB1LUJvb3QsIEJTRCBhbmQg c2V2ZXJhbCBvdGhlciBxdWl0ZSBkaWZmZXJlbnQgc3lzdGVtcy4KPiAKPiBVLUJvb3QgZG9lc24n dCB1c2UgZGV2aWNldHJlZSBmb3IgdGhpcyBkZXZpY2UgKGFuZCBpZiBpdCBkaWQgdGhlIHBvcnQg d291bGQgbGlrZWx5IGJlCj4gYmFzZWQgb24gdGhlIExpbnV4IGRyaXZlcikuIEJTRCBkb2Vzbid0 IHN1cHBvcnQgdGhpcyBoYXJkd2FyZSBhdCBhbGwuIFdlIGFyZSB0aGUgZmlyc3QKPiB0byBjcmVh dGUgYSBkcml2ZXIgZm9yIHRoaXMgZGV2aWNlLCBzbyB3ZSBnZXQgdG8gY2hvb3NlIHRoZSBiaW5k aW5nLgoKWW91IGNob29zZSB0aGUgYmluZGluZyBpbiByZXNwZWN0IHRvIHRoZSBndWlkZWxpbmVz LiBZb3UgY2Fubm90IGNob29zZQpzb21lIHJhbmRvbSB3ZWlyZG5lc3MganVzdCBiZWNhdXNlIHlv dSBhcmUgZmlyc3QuIEl0IGRvZXMgbm90IG1hdHRlcgp0aGF0IHRoZXJlIGFyZSBubyBvdGhlciBp bXBsZW1lbnRhdGlvbnMgaW4gdGhhdCB3YXkgLSB5b3UgbXVzdCBjaG9vc2UKcmVhc29uYWJsZSBi aW5kaW5ncy4KCj4gCj4+IEFueSByZWZlcmVuY2VzIHRvIGltcGxlbWVudGlvbiBmcm9tIHRoZSBi aW5kaW5ncyBpcyBxdWVzdGlvbmFibGUsCj4+IGFsdGhvdWdoIG9mIGNvdXJzZSBub3QgYWx3YXlz IHdyb25nLgo+Pgo+PiBCdWlsZGluZyBiaW5kaW5ncyBwZXIgc3BlY2lmaWMgaW1wbGVtZW50YXRp b24gaXMgYXMgd2VsbCB1c3VhbGx5IG5vdAo+PiBjb3JyZWN0Lgo+IAo+IFN1cmUsIGJ1dCB0aGVy ZSBhcmUgb2YgY291cnNlIG1hbnkgd2F5cyB0byBjcmVhdGUgYmluZGluZ3MsIGV2ZW4gZm9yIHRo ZSBzYW1lIGhhcmR3YXJlLgo+IEFzIGFuIGV4YW1wbGUsIHBpbmN0cmwgYmluZGluZ3MgY2FuIGJl IHdyaXR0ZW4gbGlrZQo+IAo+IHBpbmN0cmxAY2FmZWJhYmUgewo+IAl1YXJ0LXR4IHsKPiAJCWZ1 bmN0aW9uID0gInVhcnQtdHgiOwo+IAkJcGlucyA9ICI1IjsKPiAJfTsKPiB9Owo+IAo+IG9yCj4g Cj4gcGluY3RybEBkZWFkYmVlZiB7Cj4gCXVhcnQtdHggewo+IAkJcGlubXV4ID0gPFNPTUVfTUFD Uk8oNSwgVUFSVF9UWCk+Owo+IAl9Owo+IH07Cj4gCj4gb3IKPiAKPiBwaW5jdHJsQGQwMGRmZWVk IHsKPiAJdWFydC10eCB7Cj4gCQlwaW5tdXggPSA8U09NRV9NQUNSTyg1LCBGVU5DMyk+Owo+IAl9 Owo+IH07Cj4gCj4gYW5kIHdoaWNoIG9uZSB0byB1c2UgZGVwZW5kcyBib3RoIG9uIHRoZSBzdHJ1 Y3R1cmUgb2YgdGhlIGhhcmR3YXJlLCBhcyB3ZWxsIGFzIHRoZQo+IGRyaXZlci4gVGhlc2UgYmlu ZGluZ3MgcmVxdWlyZSBhIGRpZmZlcmVudCBkcml2ZXIgc3R5bGUgdW5kZXIgdGhlIGhvb2QsIGFu ZCB1c2luZwo+IHRoZSB3cm9uZyBiaW5kaW5nIGNhbiB1bm5lY2Vzc2FyaWx5IGNvbXBsaWNhdGUg dGhlIGRyaXZlciBmb3Igbm8gcmVhc29uLgo+IAo+IFRvIGZ1cnRoZXIgYmVhdCBob21lIHRoZSBw b2ludCwgc29tZW9uZSBtaWdodCB1c2UgYSAiZml4ZWQtY2xvY2siIHRvIGRlc2NyaWJlIGEgY2xv Y2sKPiBhbmQgdGhlbiBsYXRlciBjaGFuZ2UgdG8gYSBtb3JlIGRldGFpbGVkIGltcGxlbWVudGF0 aW9uLiBUaGV5IGNvdWxkIHVzZSAic2ltcGxlLXBpbmN0cmwiCj4gYW5kIHRoZW4gbGF0ZXIgbW92 ZSB0byBhIGRldmljZS1zcGVjaWZpYyBkcml2ZXIuIAo+IAo+IElmIHRoZSBkZXZpY2V0cmVlIGF1 dGhvciBpcyBzbWFydCwgdGhlbiB0aGV5IHdpbGwgY3JlYXRlIGEgYmluZGluZyBsaWtlCj4gCj4g Y2xvY2sgewo+IAljb21wYXRpYmxlID0gInZlbmRvcixteS1jbG9jayIsICJmaXhlZC1jbG9jayI7 Cj4gCS4uLgo+IH07Cj4gCj4gc28gdGhhdCBiZXR0ZXIgc3VwcG9ydCBtaWdodCBiZSBhZGRlZCBp biB0aGUgZnV0dXJlLiBJbiBmYWN0LCB0aGF0IGlzICpleGFjdGx5KiB3aGF0IEkKPiBhbSBzdWdn ZXN0aW5nIGhlcmUuCj4gCj4+Pgo+Pj4+PiAsIGFsb25nIHdpdGggdGhlIGFwcHJvcHJpYXRlIHZh bHVlcwo+Pj4+PiB0byBwbHVnIGludG8gdGhlIHByb3RvY29sIGNvbnRyb2wgcmVnaXN0ZXJzLiBC ZWNhdXNlIGVhY2ggc2VyZGVzIGhhcyBhIGRpZmZlcmVudCBzZXQKPj4+Pj4gb2Ygc3VwcG9ydGVk IHByb3RvY29scwo+Pj4+Cj4+Pj4gQW5vdGhlciB3YXkgaXMgdG8gZXhwcmVzcyBpdCB3aXRoIGEg cHJvcGVydHkuCj4+Pj4KPj4+Pj4gYW5kIHJlZ2lzdGVyIGNvbmZpZ3VyYXRpb24sCj4+Pj4KPj4+ PiBXaGF0IGRvZXMgaXQgbWVhbiBleGFjdGx5PyBUaGUgc2FtZSBwcm90b2NvbHMgaGF2ZSBkaWZm ZXJlbnQgcHJvZ3JhbW1pbmcKPj4+PiBtb2RlbCBvbiB0aGUgaW5zdGFuY2VzPwo+Pj4KPj4+IChJ biB0aGUgYmVsb3cgcGFyYWdyYXBoLCB3aGVuIEkgc2F5ICJyZWdpc3RlciIgSSBtZWFuICJyZWdp c3RlciBvciBmaWVsZCB3aXRoaW4gYQo+Pj4gcmVnaXN0ZXIiKQo+Pj4KPj4+IFllcy4gRXZlcnkg c2VyZGVzIGluc3RhbmNlIGhhcyBhIGRpZmZlcmVudCB3YXkgdG8gcHJvZ3JhbSBwcm90b2NvbHMg aW50byBsYW5lcy4gV2hpbGUKPj4+IHRoZXJlIGlzIGEgbGl0dGxlIGJpdCBvZiBvcnRob2dvbmFs aXR5ICh0aGUgc2FtZSByZWdpc3RlcnMgYXJlIHR5cGljYWxseSB1c2VkIGZvciB0aGUKPj4+IHNh bWUgcHJvdG9jb2xzKSwgZWFjaCBzZXJkZXMgaXMgZGlmZmVyZW50LiBUaGUgdmFsdWVzIHByb2dy YW1tZWQgaW50byB0aGUgcmVnaXN0ZXJzIGFyZQo+Pj4gdW5pcXVlIHRvIHRoZSBzZXJkZXMsIGFu ZCB0aGUgbGFuZSB3aGljaCB0aGV5IGFwcGx5IHRvIGlzIGFsc28gdW5pcXVlIChlLmcuIHRoZSBz YW1lCj4+PiByZWdpc3RlciBtYXkgYmUgdXNlZCB0byBwcm9ncmFtIGEgZGlmZmVyZW50IGxhbmUg d2l0aCBhIGRpZmZlcmVudCBwcm90b2NvbCkuCj4+Cj4+IFRoYXQncyBub3QgYW5zd2VyaW5nIHRo ZSBwb2ludCBoZXJlLCBidXQgSSdsbCByZXNwb25kIHRvIHRoZSBsYXRlcgo+PiBwYXJhZ3JhcGgu Cj4+Cj4+Pgo+Pj4+PiBhZGRpbmcgc3VwcG9ydCBmb3IgYSBuZXcgU29DIHdpbGwKPj4+Pj4gcmVx dWlyZSBhZGRpbmcgdGhlIGFwcHJvcHJpYXRlIGNvbmZpZ3VyYXRpb24gdG8gdGhlIGRyaXZlciwg YW5kIGFkZGluZyBhIG5ldyBjb21wYXRpYmxlCj4+Pj4+IHN0cmluZy4gQWx0aG91Z2ggbW9zdCBv ZiB0aGUgZHJpdmVyIGlzIGdlbmVyaWMsIHRoaXMgY3JpdGljYWwgcG9ydGlvbiBpcyBzaGFyZWQg b25seQo+Pj4+PiBiZXR3ZWVuIGNsb3NlbHktcmVsYXRlZCBTb0NzIChzdWNoIGFzIHZhcmlhbnRz IHdpdGggZGlmZmVyaW5nIG51bWJlcnMgb2YgY29yZXMpLgo+Pj4+Pgo+Pj4+Cj4+Pj4gQWdhaW4g aW1wbGVtZW50YXRpb24gLSB3ZSBkbyBub3QgdGFsayBoZXJlIGFib3V0IGRyaXZlciwgYnV0IHRo ZSBiaW5kaW5ncy4KPj4+Pgo+Pj4+PiBUaGUgMSBhbmQgMiBzdGFuZCBmb3IgdGhlIG51bWJlciBv ZiB0aGUgU2VyRGVzIG9uIHRoYXQgU29DLiBlLmcuIHRoZSBkb2N1bWVudGF0aW9uIHdpbGwKPj4+ Pj4gcmVmZXIgdG8gU2VyRGVzMSBhbmQgU2VyRGVzMi4KPj4+Pj4gICAgCj4+Pj4+IFNvIGUuZy4g b3RoZXIgY29tcGF0aWJsZXMgbWlnaHQgYmUKPj4+Pj4KPj4+Pj4gLSBmc2wsbHMxMDQzYS1zZXJk ZXMtMSAjIFRoZXJlJ3Mgb25seSBvbmUgc2VyZGVzIG9uIHRoaXMgU29DCj4+Pj4+IC0gZnNsLHQ0 MDQyLXNlcmRlcy0xICMgVGhpcyBTb0MgaGFzIGZvdXIgc2VyZGVzCj4+Pj4+IC0gZnNsLHQ0MDQy LXNlcmRlcy0yCj4+Pj4+IC0gZnNsLHQ0MDQyLXNlcmRlcy0zCj4+Pj4+IC0gZnNsLHQ0MDQyLXNl cmRlcy00Cj4+Pj4KPj4+PiBJZiB0aGUgZGV2aWNlcyBhcmUgcmVhbGx5IGRpZmZlcmVudCAtIHRo ZXJlIGlzIG5vIGNvbW1vbiBwYXJ0cyBpbiB0aGUKPj4+PiBwcm9ncmFtbWluZyBtb2RlbCAocmVn aXN0ZXJzKSAtIHRoZW4gcGxlYXNlIGZpbmQgc29tZSBkZXNjcmlwdGl2ZQo+Pj4+IGNvbXBhdGli bGUuIEhvd2V2ZXIgaWYgdGhlIHByb2dyYW1taW5nIG1vZGVsIG9mIGNvbW1vbiBwYXJ0IGlzCj4+ Pj4gY29uc2lzdGVudCBhbmQgdGhlIGRpZmZlcmVuY2VzIGFyZSBvbmx5IGZvciBkaWZmZXJlbnQg cHJvdG9jb2xzIChraW5kIG9mCj4+Pj4gZXhwZWN0ZWQpLCB0aGlzIHNob3VsZCBiZSByYXRoZXIg YSBwcm9wZXJ0eSBkZXNjcmliaW5nIHdoaWNoIHByb3RvY29scwo+Pj4+IGFyZSBzdXBwb3J0ZWQu Cj4+Pj4KPj4+Cj4+PiBJIGRvIG5vdCB3YW50IHRvIGNvbXBsaWNhdGUgdGhlIGRyaXZlciBieSBh dHRlbXB0aW5nIHRvIGVuY29kZSBzdWNoIGluZm9ybWF0aW9uIGluIHRoZQo+Pj4gYmluZGluZ3Mu IFN0b3JpbmcgdGhlIGluZm9ybWF0aW9uIGluIHRoZSBkcml2ZXIgaXMgZXh0cmVtZWx5IGNvbW1v bi4gUGxlYXNlIHJlZmVyIHRvIGUuZy4KPj4KPj4gWWVzLCBxdWlya3MgYXJlIGV2ZW4gbW9yZSBj b21tb24sIG1vcmUgZmxleGlibGUgYW5kIGFyZSBpbiBnZW5lcmFsCj4+IHJlY29tbWVuZGVkIGZv ciBtb3JlIGNvbXBsaWNhdGVkIGNhc2VzLiBZZXQgeW91IHRhbGsgYWJvdXQgZHJpdmVyCj4+IGlt cGxlbWVudGF0aW9uLCB3aGljaCBJIGJhcmVseSBjYXJlLgo+Pgo+Pj4KPj4+IC0gbXZlYnVfY29t cGh5X2NwMTEwX21vZGVzIGluIGRyaXZlcnMvcGh5L21hcnZlbGwvcGh5LW12ZWJ1LWNwMTEwLWNv bXBoeS5jCj4+PiAtIG12ZWJ1X2EzNzAwX2NvbXBoeV9tb2RlcyBpbiBkcml2ZXJzL3BoeS9tYXJ2 ZWxsL3BoeS1tdmVidS1hMzcwMC1jb21waHkuYwo+Pj4gLSBpY21fbWF0cml4IGluIGRyaXZlcnMv cGh5L3hpbGlueC9waHktenlucW1wLmMKPj4+IC0gc2Ftc3VuZ191c2IyX3BoeV9jb25maWcgaW4g ZHJpdmVycy9waHkvc2Ftc3VuZy8KPj4KPj4gVGhpcyBvbmUgaXMgYSBnb29kIGV4YW1wbGUgLSB3 aGVyZSBkbyB5b3Ugc2VlIHRoZXJlIGNvbXBhdGlibGVzIHdpdGgKPj4gYXJiaXRyYXJ5IG51bWJl cnMgYXR0YWNoZWQ/Cj4gCj4gc2Ftc3VuZ191c2IyX3BoeV9vZl9tYXRjaCBpbiBkcml2ZXJzL3Bo eS9zYW1zdW5nL3BoeS1zYW1zdW5nLXVzYjIuYwo+IAo+IFRoZXJlIGlzIGEgZGlmZmVyZW50IGNv bXBhdGlibGUgZm9yIGVhY2ggU29DIHZhcmlhbnQuIEVhY2ggY29tcGF0aWJsZSBzZWxlY3RzIGEg c3RydWN0Cj4gY29udGFpbmluZwo+IAo+IC0gQSBsaXN0IG9mIHBoeXMsIGVhY2ggd2l0aCBjdXN0 b20gcG93ZXIgb24gYW5kIG9mZiBmdW5jdGlvbnMKPiAtIEEgZnVuY3Rpb24gd2hpY2ggY29udmVy dHMgYSByYXRlIHRvIGFuIGFyYml0cmFyeSB2YWx1ZSB0byBwcm9ncmFtIGludG8gYSByZWdpc3Rl cgo+IAo+IFRoaXMgaXMgZnVydGhlciBkb2N1bWVudGVkIGluIERvY3VtZW50YXRpb24vZHJpdmVy LWFwaS9waHkvc2Ftc3VuZy11c2IyLnJzdAoKRXhhY3RseSwgcGxlYXNlIGZvbGxvdyB0aGlzIGFw cHJvYWNoLiBDb21wYXRpYmxlIGlzIHBlciBkaWZmZXJlbnQKZGV2aWNlLCBlLmcuIGRpZmZlcmVu dCBTb0MgdmFyaWFudC4gT2YgY291cnNlIHlvdSBjb3VsZCBoYXZlIGRpZmZlcmVudApkZXZpY2Vz IG9uIHNhbWUgU29DLCBidXQgIjEiIGFuZCAiMiIgYXJlIG5vdCBkaWZmZXJlbnQgZGV2aWNlcy4K Cj4gCj4+PiAtIHFtcF9waHlfaW5pdF90YmwgaW4gZHJpdmVycy9waHkvcXVhbGNvbW0vcGh5LXFj b20tcW1wLmMKPj4+Cj4+PiBBbGwgb2YgdGhlc2UgZHJpdmVycyAoYW5kIHRoZXJlIGFyZSBtb3Jl KQo+Pj4KPj4+IC0gVXNlIGEgZHJpdmVyLWludGVybmFsIHN0cnVjdCB0byBlbmNvZGUgaW5mb3Jt YXRpb24gc3BlY2lmaWMgdG8gZGlmZmVyZW50IGRldmljZSBtb2RlbHMuCj4+PiAtIFNlbGVjdCB0 aGF0IHN0cnVjdCBiYXNlZCBvbiB0aGUgY29tcGF0aWJsZQo+Pgo+PiBEcml2ZXIgaW1wbGVtZW50 YXRpb24uIFlvdSBjYW4gZG8gaXQgaW4gbWFueSBkaWZmZXJlbnQgd2F5cy4gRG9lcyBub3QKPj4g bWF0dGVyIGZvciB0aGUgYmluZGluZ3MuCj4gCj4gQW5kIGJlY2F1c2UgdGhpcyBib3RoIGRlc2Ny aWJlcyB0aGUgaGFyZHdhcmUgYW5kIGlzIGNvbnZlbmllbnQgdG8gdGhlIGltcGxlbWVudGF0aW9u LAo+IEkgaGF2ZSBjaG9zZW4gdGhpcyB3YXkuCj4gCj4+Pgo+Pj4gVGhlIG90aGVyIHRoaW5nIGlz IHRoYXQgd2hpbGUgdGhlIExTMTA0NkEgU2VyRGVzIGFyZSBmYWlybHkgZ2VuZXJpYywgb3RoZXIg U2VyRGVzIG9mIHRoaXMKPj4+IHR5cGUgaGF2ZSBwYXJ0aWN1bGFyIHJlc3RydWN0aW9ucyBvbiB0 aGUgY2xvY2tzLiBFLmcuIG9uIHNvbWUgU29DcywgY2VydGFpbiBwcm90b2NvbHMKPj4+IGNhbm5v dCBiZSB1c2VkIHRvZ2V0aGVyIChldmVuIGlmIHRoZXkgd291bGQgb3RoZXJ3aXNlIGJlIGxlZ2Fs KSwgYW5kIHNvbWUgcHJvdG9jb2xzIG11c3QKPj4+IHVzZSBwYXJ0aWN1bGFyIFBMTHMgKHdoZXJl YXMgaW4gZ2VuZXJhbCB0aGVyZSBpcyBubyBzdWNoIHJlc3RyaWN0aW9uKS4gVGhlcmUgYXJlIGFs c28KPj4+IHNvbWUgcmVnaXN0ZXIgZmllbGRzIHdoaWNoIGFyZSByZXF1aXJlZCB0byBwcm9ncmFt IG9uIHNvbWUgU29DcywgYW5kIHdoaWNoIGFyZSByZXNlcnZlZAo+Pj4gb24gb3RoZXJzLgo+Pgo+ PiBKdXN0IHRvIGJlIGNsZWFyLCBiZWNhdXNlIHlvdSBhcmUgcXVpdGUgdW5zcGVjaWZpYyBoZXJl ICgic29tZQo+PiBwcm90b2NvbHMiKSAtIHdlIHRhbGsgYWJvdXQgdGhlIHNhbWUgcHJvdG9jb2wg cHJvZ3JhbW1lZCBvbiB0d28gb2YgdGhlc2UKPj4gc2VyZGVzIChzZXJkZXMtMSBhbmQgc2VyZGVz LTIgaG93IHlvdSBjYWxsIGl0KS4gRG9lcyBpdCB1c2UgZGlmZmVyZW50Cj4+IHJlZ2lzdGVycz8K PiAKPiBZZXMuCj4gCj4+IEFyZSBzb21lIHJlZ2lzdGVycyAtIGZvciB0aGUgc2FtZSBwcm90b2Nv bCAtIHJlc2VydmVkIGluIG9uZSB2ZXJzaW9uPwo+IAo+IFllcy4KPiAKPiBGb3IgZXhhbXBsZSwg SSBleGNlcnB0IHBhcnQgb2YgdGhlIGRvY3VtZW50YXRpb24gZm9yIFBDQ1IyIG9uIHRoZSBUNDI0 MDoKPiAKPj4gWEZJYSBDb25maWd1cmF0aW9uOgo+PiBYRklBX0NGRyBEZWZhdWx0IHZhbHVlIHNl dCBieSBSQ1cgY29uZmlndXJhdGlvbi4KPj4gVGhpcyBmaWVsZCBtdXN0IGJlIDAgZm9yIFNlckRl cyAzICYgNAo+PiBBbGwgc2V0dGluZ3Mgbm90IHNob3duIGFyZSByZXNlcnZlZAo+Pgo+PiAwMCBE aXNhYmxlZAo+PiAwMSB4MSBvbiBMYW5lIDMgdG8gRk0yIE1BQyA5Cj4gCj4gQW5kIGhlcmUgaXMg cGFydCBvZiB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgUENDUjIgb24gdGhlIExTMTA0NkE6Cj4gCj4+ IFNBVEFhIENvbmZpZ3VyYXRpb24KPj4gQWxsIG90aGVycyByZXNlcnZlZAo+PiBOT1RFOiBUaGlz IGZpZWxkIGlzIG5vdCBzdXBwb3J0ZWQgaW4gZXZlcnkgaW5zdGFuY2UuIFRoZSBmb2xsb3dpbmcg dGFibGUgaW5jbHVkZXMgb25seQo+PiAgICAgICBzdXBwb3J0ZWQgcmVnaXN0ZXJzLgo+PiBGaWVs ZCBzdXBwb3J0ZWQgaW4JRmllbGQgbm90IHN1cHBvcnRlZCBpbgo+PiBTZXJEZXMxX1BDQ1IyCQni gJQKPj4g4oCUCQkJU2VyRGVzMl9QQ0NSMgo+Pgo+PiAwMDBiIC0gRGlzYWJsZWQKPj4gMDAxYiAt IHgxIG9uIExhbmUgMyAoU2VyRGVzICMyIG9ubHkpCj4gCj4gQW5kIGhlcmUgaXMgcGFydCBvZiB0 aGUgZG9jdW1lbnRhdGlvbiBmb3IgUENDUkIgb24gdGhlIExTMTA0NkE6Cj4gCj4+IFhGSWEgQ29u ZmlndXJhdGlvbgo+PiBBbGwgb3RoZXJzIHJlc2VydmVkIERlZmF1bHQgdmFsdWUgc2V0IGJ5IFJD VyBjb25maWd1cmF0aW9uLgo+Pgo+PiAwMDBiIC0gRGlzYWJsZWQKPj4gMDEwYiAtIHgxIG9uIExh bmUgMSB0byBYR01JSWEgKFNlcmRlcyAjMSBvbmx5KQo+IFlvdSBtYXkgbm90aWNlIHRoYXQKPiAK PiAtIEZvciBzb21lIFNlckRlcyBvbiB0aGUgc2FtZSBTb0MsIHRoZXNlIGZpZWxkcyBhcmUgcmVz ZXJ2ZWQKClRoYXQgYWxsIHNvdW5kcyBsaWtlIHF1aXRlIGRpZmZlcmVudCBkZXZpY2VzLCB3aGlj aCBpbmRlZWQgdXN1YWxseSBpcwpkZXNjcmliZWQgd2l0aCBkaWZmZXJlbnQgY29tcGF0aWJsZXMu IFN0aWxsICJ4eHgtMSIgYW5kICJ4eHgtMiIgYXJlIG5vdAp2YWxpZCBjb21wYXRpYmxlcy4gWW91 IG5lZWQgdG8gY29tZSB3aXRoIHNvbWUgbW9yZSByZWFzb25hYmxlIG5hbWUKZGVzY3JpYmluZyB0 aGVtLiBNYXliZSB0aGUgYmxvY2sgaGFzIHJldmlzaW9uIG9yIGRpZmZlcmVudCBtb2RlbC92ZW5k b3IuCgo+IC0gQmV0d2VlbiBkaWZmZXJlbnQgU29DcywgZGlmZmVyZW50IHByb3RvY29scyBtYXkg YmUgY29uZmlndXJlZCBpbiBkaWZmZXJlbnQgcmVnaXN0ZXJzCj4gLSBUaGUgc2FtZSByZWdpc3Rl cnMgbWF5IGJlIHVzZWQgZm9yIGRpZmZlcmVudCBwcm90b2NvbHMgaW4gZGlmZmVyZW50IFNvQ3Mg KHRob3VnaAo+ICAgZ2VuZXJhbGx5IHRoZXJlIGFyZSBzZXZlcmFsIGdlbmVyYWwgbGF5b3V0cykK CkRpZmZlcmVudCBTb0NzIGdpdmUgeW91IGRpZmZlcmVudCBjb21wYXRpYmxlcywgc28gcHJvYmxl bSBpcyBzb2x2ZWQgYW5kCnRoYXQncyBub3QgZXhhY3RseSBhcmd1bWVudCBmb3IgdGhpcyBjYXNl LgoKPiAtIEZpZWxkcyBoYXZlIHBhcnRpY3VsYXIgdmFsdWVzIHdoaWNoIG11c3QgYmUgcHJvZ3Jh bW1lZAo+IAo+IEluIGFkZGl0aW9uLCB0aGUgZG9jdW1lbnRhdGlvbiBhbHNvIHNheXMKPiAKPj4g UmVzZXJ2ZWQgcmVnaXN0ZXJzIGFuZCBmaWVsZHMgbXVzdCBiZSBwcmVzZXJ2ZWQgb24gd3JpdGVz Lgo+IAo+IEFsbCBvZiB0aGVzZSBjb21iaW5lZCBpc3N1ZXMgbWFrZSBpdCBzbyB0aGF0IHdlIG5l ZWQgZGV0YWlsZWQsIHNlcmRlcy1zcGVjaWZpYwo+IGNvbmZpZ3VyYXRpb24uIFRoZSBlYXNpZXN0 IHdheSB0byBzdG9yZSB0aGlzIGNvbmZpZ3VyYXRpb24gaXMgaW4gdGhlIGRyaXZlci4gVGhpcwo+ IGlzIGNvbnNpc3RlbnQgd2l0aCAqbWFueSogZXhpc3RpbmcgcGh5IGltcGxlbWVudGF0aW9ucy4g SSB3b3VsZCBsaWtlIHRvIHdyaXRlIGEKPiBzdGFuZGFyZCBwaHkgZHJpdmVyLCBub3Qgb25lIHR3 aXN0ZWQgYnkgdW51c3VhbCBkZXZpY2UgdHJlZSByZXF1aXJlbWVudHMuCgpTdXJlLgoKPiAKPj4+ Cj4+PiBUaGVyZSBpcywgZnJhbmtseSwgYSBsYXJnZSBhbW91bnQgb2YgdmFyaWF0aW9uIGJldHdl ZW4gZGV2aWNlcyBhcyBpbXBsZW1lbnRlZCBvbiBkaWZmZXJlbnQKPj4+IFNvQ3MuIAo+Pgo+PiBU aGlzIEkgZG9uJ3QgZ2V0LiBZb3UgbWVhbiBkaWZmZXJlbnQgU29DcyBoYXZlIGVudGlyZWx5IGRp ZmZlcmVudAo+PiBTZXJkZXM/IFN1cmUsIG5vIHByb2JsZW0uIFdlIHRhbGsgaGVyZSBvbmx5IGFi b3V0IHRoaXMgU29DLCB0aGlzCj4+IHNlcmRlcy0xIGFuZCBzZXJkZXMtMi4KPj4KPj4+IEVzcGVj aWFsbHkgYmVjYXVzZSAoQUlVSSkgZHJpdmVycyBtdXN0IHJlbWFpbiBjb21wYXRpYmxlIHdpdGgg b2xkIGRldmljZXRyZWVzLCBJCj4+PiB0aGluayB1c2luZyBhIHNwZWNpZmljIGNvbXBhdGlibGUg c3RyaW5nIGlzIGVzcGVjaWFsbHkgYXBwcm9wcmlhdGUgaGVyZS4gCj4+Cj4+IFRoaXMgYXJndW1l bnQgZG9lcyBub3QgbWFrZSBhbnkgc2Vuc2UgaW4gY2FzZSBvZiBuZXcgYmluZGluZ3MgYW5kIG5l dwo+PiBkcml2ZXJzLCB1bmxlc3MgeW91IGJ1aWxkIG9uIHRvcCBvZiBleGlzdGluZyBpbXBsZW1l bnRhdGlvbi4gQW55d2F5IG5vCj4+IG9uZSBhc2tzIHlvdSB0byBicmVhayBleGlzdGluZyBiaW5k aW5ncy4uLgo+IAo+IFdoZW4gdGhlcmUgaXMgYSBidWcgaW4gdGhlIGJpbmRpbmdzIGhvdyBkbyB5 b3UgZml4IGl0PyBJZiBJIHdlcmUgdG8gZm9sbG93IHlvdXIgc3VnZ2VzdGVkIG1ldGhvZCwgaXQg d291bGQgYmUgZGlmZmljdWx0IHRvIGRldGVybWluZSB0aGUgcGFydGljdWxhciBkZXZpY2VzCj4g Cj4+PiBJdCB3aWxsIGdpdmUgdXMKPj4+IHRoZSBhYmlsaXR5IHRvIGNvcnJlY3QgYW55IGltcGxl bWVudGF0aW9uIHF1aXJrcyBhcyB0aGV5IGFyZSBkaXNjb3ZlcmVkIChhbmQgSSBhbnRpY2lwYXRl Cj4+PiB0aGF0IHRoZXJlIHdpbGwgYmUpIHJhdGhlciB0aGFuIGhhdmluZyB0byBkZXRlcm1pbmUg ZXZlcnl0aGluZyB1cCBmcm9udC4KPj4KPj4gQWxsIHRoZSBxdWlya3MgY2FuIGJlIGFsc28gY2hv c2VuIGJ5IHJlc3BlY3RpdmUgcHJvcGVydGllcy4KPiAKPiBRdWlya3MgYXJlICpleGFjdGx5KiB0 aGUgc29ydCBvZiBpbXBsZW1lbnRhdGlvbi1zcGVjaWZpYyBkZXRhaWxzIHRoYXQgeW91IHdlcmUg b3Bwb3NlZCB0byBhYm92ZS4KPiAKPj4gQW55d2F5LCAic2VyZGVzLTEiIGFuZCAic2VyZGVzLTIi IGFyZSBub3QgY29ycmVjdCBjb21wYXRpYmxlcywKPiAKPiBUaGUgY29tcGF0aWJsZXMgc3VnZ2Vz dGVkIHdlcmUgImZzbCxsczEwNDYtc2VyZGVzLTEiIGFuZCAtMi4gQXMgbm90ZWQgYWJvdmUsIHRo ZXNlIGFyZSBzZXBhcmF0ZQo+IGRldmljZXMgd2hpY2gsIHdoaWxlIGhhdmluZyBtYW55IHNpbWls YXJpdGllcywgaGF2ZSBkaWZmZXJlbnQgcmVnaXN0ZXIgbGF5b3V0cyBhbmQgcHJvdG9jb2wKPiBz dXBwb3J0LiBUaGV5IGFyZSAqbm90KiAxMDAlIGNvbXBhdGlibGUgd2l0aCBlYWNoIG90aGVyLiBX b3VsZCB5b3UgcmVxdWlyZSB0aGF0IGNsb2NrIGRyaXZlcnMKPiBmb3IgZGlmZmVyZW50IFNvQ3Mg dXNlIHRoZSBzYW1lIGNvbXBhdGlibGVzIGp1c3QgYmVjYXVzZSB0aGV5IGhhZCB0aGUgc2FtZSBy ZWdpc3RlcnMsIGV2ZW4gdGhvdWdoCj4gdGhlIGNsb2NrcyB0aGVtc2VsdmVzIGhhZCBkaWZmZXJl bnQgZnVuY3Rpb25zIGFuZCBoaWVyYXJjaHk/CgpZb3UgbWlzcyB0aGUgcG9pbnQuIENsb2NrIGNv bnRyb2xsZXJzIG9uIHNhbWUgU29DIGhhdmUgZGlmZmVyZW50IG5hbWVzCnVzZWQgaW4gY29tcGF0 aWJsZXMuIFdlIGRvIG5vdCBkZXNjcmliZSB0aGVtIGFzICJ2ZW5kb3IsYWEtY2xrLTEiIGFuZAoi dmVuZG9yLGFhLWNsay0yIi4KCkNvbWUgd2l0aCBwcm9wZXIgbmFtaW5nIGFuZCBlbnRpcmUgZGlz Y3Vzc2lvbiBtaWdodCBiZSBub3QgdmFsaWQKKGFsdGhvdWdoIHdpdGggbm90IHBlcmZlY3QgbmFt aW5nIFJvYiBtaWdodCBjb21lIHdpdGggcXVlc3Rpb25zKS4gSQpjYW5ub3QgcHJvcG9zZSB0aGUg bmFtZSBiZWNhdXNlIEkgZG9uJ3Qga25vdyB0aGVzZSBoYXJkd2FyZSBibG9ja3MgYW5kIEkKZG8g bm90IGhhdmUgYWNjZXNzIHRvIGRhdGFzaGVldC4KCk90aGVyIHdheSwgaWYgYW55IHJlYXNvbmFi bGUgbmFtaW5nIGlzIG5vdCBwb3NzaWJsZSwgY291bGQgYmUgYWxzbyB0bwpkZXNjcmliZSB0aGUg bWVhbmluZyBvZiAiLTEiIHN1ZmZpeCwgZS5nLiB0aGF0IGl0IGRvZXMgbm90IG1lYW4gc29tZQpp bmRleCBidXQgYSB2YXJpYW50IGZyb20gc3BlY2lmaWNhdGlvbi4KCj4gCj4gLS1TZWFuCj4gCj4+ IHNvIG15IE5BSwo+PiBzdGF5cy4gVGhlc2UgbWlnaHQgYmUgc2VwYXJhdGUgY29tcGF0aWJsZXMs IGFsdGhvdWdoIHRoYXQgd291bGQgcmVxdWlyZQo+PiBwcm9wZXIgbmFtaW5nIGFuZCBwcm9wZXIg anVzdGlmaWNhdGlvbiAoYXMgeW91IGRpZCBub3QgYW5zd2VyIG15IGFjdHVhbAo+PiBxdWVzdGlv bnMgYWJvdXQgZGlmZmVyZW5jZXMgd2hlbiB1c2luZyBzYW1lIHByb3RvY29scykuIEp1ZGdpbmcg YnkgdGhlCj4+IGJpbmRpbmdzIGFuZCB5b3VyIGN1cnJlbnQgZGVzY3JpcHRpb24gKGltcGxlbWVu dGF0aW9uIGRvZXMgbm90IG1hdHRlciksCj4+IHRoaXMgYWxzbyBsb29rcyBsaWtlIGEgcHJvcGVy dHkuCgoKQmVzdCByZWdhcmRzLApLcnp5c3p0b2YKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK