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 X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DCC6EC433E0 for ; Thu, 25 Jun 2020 07:57:57 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id AD95F20709 for ; Thu, 25 Jun 2020 07:57:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=ffwll.ch header.i=@ffwll.ch header.b="LV1WaJNi" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AD95F20709 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ffwll.ch Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 23C106E25F; Thu, 25 Jun 2020 07:57:57 +0000 (UTC) Received: from mail-oi1-x244.google.com (mail-oi1-x244.google.com [IPv6:2607:f8b0:4864:20::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id A73186E25F for ; Thu, 25 Jun 2020 07:57:56 +0000 (UTC) Received: by mail-oi1-x244.google.com with SMTP id k4so4211331oik.2 for ; Thu, 25 Jun 2020 00:57:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=Fh/QRjqSh/AIDMMLAmkoRED38mfRi1Trge0R0zfKw/M=; b=LV1WaJNiVNdQ+ZXGBrJGl3wqXVPK4n4btT7GoYkFpVmj9kSK/OhHJww9VkLgnLSNtt pJHu+CdN2k/fC0iyDlOVjGMuxSg/t1Ms22PN9L1ng/LsCLOxh1N6FYQm60u3+maRWMpe LeEjh2+U8c5xr2CMl+sYuJTa3jBjLW17daew0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=Fh/QRjqSh/AIDMMLAmkoRED38mfRi1Trge0R0zfKw/M=; b=F0oEEU5ggIRc7XGPYZ289qNNbLHtTXPOu92YjskH7XZayWxhTiscjwepasi/StorES Y41aekL7zZ+WXAwOXOYwh/jEt/aV+tmIPG1GTF7p76MI6emP5YiTXI/htqJQs7CgZWH7 0uc13AhCPkK6FswdnqcJNZDxS2DkKxU7rZFowBhoBUxAPput4vJJ4woBTPYXCzt65WrQ fUkP2GFFmtbQN9+MdBECwz1TkJx77P3zu8/42eAK0Voo9VD41lOrkC9HIDD83eRRgKjn qtyFqsomWCH0YCUEKUEoI6AtjfAeoABfb8EUNMl1Zh8caRqhmQUqpXbjm8e0cKOa3Qba 2BOw== X-Gm-Message-State: AOAM531buxzRHAN2BOeMytxPlb8SxtyQz9Tcs+6f4KEmgqvQM/3spk3z nramvHufn+FkddUUrwGxUQfeQ5yOmqNznYcyJQnfKA== X-Google-Smtp-Source: ABdhPJwEv3DXO9ri4ndtxq/m8jGfBTohFNb1JASUBsnpbvWcQYw40zkUC+gD3dpeq40EXYMwLJp28xHHKayi/HSzfbU= X-Received: by 2002:aca:bc06:: with SMTP id m6mr1121257oif.101.1593071875840; Thu, 25 Jun 2020 00:57:55 -0700 (PDT) MIME-Version: 1.0 References: <20200526011505.31884-1-laurent.pinchart+renesas@ideasonboard.com> <20200526011505.31884-28-laurent.pinchart+renesas@ideasonboard.com> <20200621084000.GM74146@ravnborg.org> <20200624011209.GU5870@pendragon.ideasonboard.com> <20200624072304.GT20149@phenom.ffwll.local> <20200625075655.GC3278063@phenom.ffwll.local> In-Reply-To: <20200625075655.GC3278063@phenom.ffwll.local> From: Daniel Vetter Date: Thu, 25 Jun 2020 09:57:44 +0200 Message-ID: Subject: Re: [PATCH 27/27] drm: Add default modes for connectors in unknown state To: Alex Deucher , Simon Ser , Pekka Paalanen 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: , Cc: Jernej Skrabec , Laurent Pinchart , Neil Armstrong , Jonas Karlman , Kieran Bingham , Maling list - DRI developers , "open list:DRM DRIVERS FOR RENESAS" , Andrzej Hajda , Laurent Pinchart , Thomas Zimmermann , Sam Ravnborg Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gVGh1LCBKdW4gMjUsIDIwMjAgYXQgOTo1NiBBTSBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3 bGwuY2g+IHdyb3RlOgo+Cj4gT24gV2VkLCBKdW4gMjQsIDIwMjAgYXQgMDM6NDA6NDJQTSAtMDQw MCwgQWxleCBEZXVjaGVyIHdyb3RlOgo+ID4gT24gV2VkLCBKdW4gMjQsIDIwMjAgYXQgMzozMSBQ TSBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+IHdyb3RlOgo+ID4gPgo+ID4gPiBPbiBX ZWQsIEp1biAyNCwgMjAyMCBhdCA1OjI0IFBNIEFsZXggRGV1Y2hlciA8YWxleGRldWNoZXJAZ21h aWwuY29tPiB3cm90ZToKPiA+ID4gPgo+ID4gPiA+IE9uIFdlZCwgSnVuIDI0LCAyMDIwIGF0IDM6 MjMgQU0gRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90ZToKPiA+ID4gPiA+Cj4g PiA+ID4gPiBPbiBXZWQsIEp1biAyNCwgMjAyMCBhdCAwNDoxMjowOUFNICswMzAwLCBMYXVyZW50 IFBpbmNoYXJ0IHdyb3RlOgo+ID4gPiA+ID4gPiBIaSBTYW0sCj4gPiA+ID4gPiA+Cj4gPiA+ID4g PiA+IE9uIFN1biwgSnVuIDIxLCAyMDIwIGF0IDEwOjQwOjAwQU0gKzAyMDAsIFNhbSBSYXZuYm9y ZyB3cm90ZToKPiA+ID4gPiA+ID4gPiBPbiBUdWUsIE1heSAyNiwgMjAyMCBhdCAwNDoxNTowNUFN ICswMzAwLCBMYXVyZW50IFBpbmNoYXJ0IHdyb3RlOgo+ID4gPiA+ID4gPiA+ID4gVGhlIERSTSBD UlRDIGhlbHBlcnMgYWRkIGRlZmF1bHQgbW9kZXMgdG8gY29ubmVjdG9ycyBpbiB0aGUgY29ubmVj dGVkCj4gPiA+ID4gPiA+ID4gPiBzdGF0ZSBpZiBubyBtb2RlIGNhbiBiZSByZXRyaWV2ZWQgZnJv bSB0aGUgY29ubmVjdG9yLiBUaGlzIGJlaGF2aW91ciBpcwo+ID4gPiA+ID4gPiA+ID4gdXNlZnVs IGZvciBWR0Egb3IgRFZJIG91dHB1dHMgdGhhdCBoYXZlIG5vIGNvbm5lY3RlZCBEREMgYnVzLiBI b3dldmVyLAo+ID4gPiA+ID4gPiA+ID4gaW4gc3VjaCBjYXNlcywgdGhlIHN0YXR1cyBvZiB0aGUg b3V0cHV0IHVzdWFsbHkgY2FuJ3QgYmUgcmV0cmlldmVkIGFuZAo+ID4gPiA+ID4gPiA+ID4gaXMg cmVwb3J0ZWQgYXMgY29ubmVjdG9yX3N0YXR1c191bmtub3duLgo+ID4gPiA+ID4gPiA+ID4KPiA+ ID4gPiA+ID4gPiA+IEV4dGVuZCB0aGUgYWRkaXRpb24gb2YgZGVmYXVsdCBtb2RlcyB0byBjb25u ZWN0b3JzIGluIGFuIHVua25vd24gc3RhdGUKPiA+ID4gPiA+ID4gPiA+IHRvIHN1cHBvcnQgb3V0 cHV0cyB0aGF0IGNhbiByZXRyaWV2ZSBuZWl0aGVyIHRoZSBtb2RlcyBub3IgdGhlCj4gPiA+ID4g PiA+ID4gPiBjb25uZWN0aW9uIHN0YXR1cy4KPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4g PiBTaWduZWQtb2ZmLWJ5OiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0K3JlbmVz YXNAaWRlYXNvbmJvYXJkLmNvbT4KPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+IEZyb20geW91 ciBkZXNjcmlwdGlvbiBzb3VuZHMgbGlrZSBhbiBPSyBhcHByb2FjaC4KPiA+ID4gPiA+ID4gPiBC dXQgdGhpcyBpcyBub3Qgc29tZXRoaW5nIEkgZmVlbCB0b28gZmFtaWxpYXIgd2l0aC4KPiA+ID4g PiA+ID4gPiBBY2tlZC1ieTogU2FtIFJhdm5ib3JnIDxzYW1AcmF2bmJvcmcub3JnPgo+ID4gPiA+ ID4gPgo+ID4gPiA+ID4gPiBUaGFua3MgZm9yIHRoZSBhY2suIEknZCBsaWtlIHRvIGhhdmUgRGFu aWVsJ3MgKENDJ2VkKSBmZWVkYmFjayBvbiB0aGlzCj4gPiA+ID4gPiA+IHRvby4KPiA+ID4gPiA+ Cj4gPiA+ID4gPiBNYWtlcyBzZW5zZSwgYW5kIGF0IGxlYXN0IHByZS1jb2ZmZWUgbWUgY2FuJ3Qg aW1tZWRpYXRlbHkgdGhpbmsgb2YgYQo+ID4gPiA+ID4gc2NlbmFyaW8gd2hlcmUgd2UncmUgZ29p bmcgdG8gcmVncmV0IHRoaXMuIF91bmtub3duIHN0YXR1cyBpcyBwcmV0dHkgbXVjaAo+ID4gPiA+ ID4gbGltaXRlZCB0byBvbGQgVkdBIGFuZCBzaW1pbGFyIHRoaW5ncyB3aGVyZSBsb2FkIGRldGVj dCBzb21laG93IGlzbid0IHdlbGwKPiA+ID4gPiA+IHN1cHBvcnRlZCBieSB0aGUgaHcuCj4gPiA+ ID4gPgo+ID4gPiA+ID4gUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJA ZmZ3bGwuY2g+Cj4gPiA+ID4gPgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gLS0tCj4gPiA+ ID4gPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYyAgICAgICB8IDMg KystCj4gPiA+ID4gPiA+ID4gPiAgaW5jbHVkZS9kcm0vZHJtX21vZGVzZXRfaGVscGVyX3Z0YWJs ZXMuaCB8IDggKysrKysrKy0KPiA+ID4gPiA+ID4gPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDkgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiA+ID4gPiA+ID4gPiA+Cj4gPiA+ID4gPiA+ID4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMKPiA+ID4gPiA+ID4gPiA+IGluZGV4IGY1ZDE0 MWUwNDAwZi4uOTA1NWQ5NTczYzkwIDEwMDY0NAo+ID4gPiA+ID4gPiA+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYwo+ID4gPiA+ID4gPiA+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9wcm9iZV9oZWxwZXIuYwo+ID4gPiA+ID4gPiA+ID4gQEAgLTQ5MSw3ICs0 OTEsOCBAQCBpbnQgZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzKHN0cnVj dCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPiA+ID4gPiA+ID4gPiAgIGlmIChjb3VudCA9 PSAwICYmIGNvbm5lY3Rvci0+c3RhdHVzID09IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkKQo+ ID4gPiA+ID4gPiA+ID4gICAgICAgICAgIGNvdW50ID0gZHJtX2FkZF9vdmVycmlkZV9lZGlkX21v ZGVzKGNvbm5lY3Rvcik7Cj4gPiA+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4gLSBpZiAoY291 bnQgPT0gMCAmJiBjb25uZWN0b3ItPnN0YXR1cyA9PSBjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3Rl ZCkKPiA+ID4gPiA+ID4gPiA+ICsgaWYgKGNvdW50ID09IDAgJiYgKGNvbm5lY3Rvci0+c3RhdHVz ID09IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkIHx8Cj4gPiA+ID4gPiA+ID4gPiArICAgICAg ICAgICAgICAgICAgICBjb25uZWN0b3ItPnN0YXR1cyA9PSBjb25uZWN0b3Jfc3RhdHVzX3Vua25v d24pKQo+ID4gPiA+ID4gPiA+ID4gICAgICAgICAgIGNvdW50ID0gZHJtX2FkZF9tb2Rlc19ub2Vk aWQoY29ubmVjdG9yLCAxMDI0LCA3NjgpOwo+ID4gPiA+ID4gPiA+ID4gICBjb3VudCArPSBkcm1f aGVscGVyX3Byb2JlX2FkZF9jbWRsaW5lX21vZGUoY29ubmVjdG9yKTsKPiA+ID4gPiA+ID4gPiA+ ICAgaWYgKGNvdW50ID09IDApCj4gPiA+ID4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9k cm0vZHJtX21vZGVzZXRfaGVscGVyX3Z0YWJsZXMuaCBiL2luY2x1ZGUvZHJtL2RybV9tb2Rlc2V0 X2hlbHBlcl92dGFibGVzLmgKPiA+ID4gPiA+ID4gPiA+IGluZGV4IDQyMWEzMGYwODQ2My4uYWZl NTVlMmU5M2QyIDEwMDY0NAo+ID4gPiA+ID4gPiA+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX21v ZGVzZXRfaGVscGVyX3Z0YWJsZXMuaAo+ID4gPiA+ID4gPiA+ID4gKysrIGIvaW5jbHVkZS9kcm0v ZHJtX21vZGVzZXRfaGVscGVyX3Z0YWJsZXMuaAo+ID4gPiA+ID4gPiA+ID4gQEAgLTg3NiwxMyAr ODc2LDE5IEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyB7Cj4gPiA+ID4gPiA+ ID4gPiAgICAqIFRoZSB1c3VhbCB3YXkgdG8gaW1wbGVtZW50IHRoaXMgaXMgdG8gY2FjaGUgdGhl IEVESUQgcmV0cmlldmVkIGluIHRoZQo+ID4gPiA+ID4gPiA+ID4gICAgKiBwcm9iZSBjYWxsYmFj ayBzb21ld2hlcmUgaW4gdGhlIGRyaXZlci1wcml2YXRlIGNvbm5lY3RvciBzdHJ1Y3R1cmUuCj4g PiA+ID4gPiA+ID4gPiAgICAqIEluIHRoaXMgZnVuY3Rpb24gZHJpdmVycyB0aGVuIHBhcnNlIHRo ZSBtb2RlcyBpbiB0aGUgRURJRCBhbmQgYWRkCj4gPiA+ID4gPiA+ID4gPiAtICAqIHRoZW0gYnkg Y2FsbGluZyBkcm1fYWRkX2VkaWRfbW9kZXMoKS4gQnV0IGNvbm5lY3RvcnMgdGhhdCBkcml2ZXIg YQo+ID4gPiA+ID4gPiA+ID4gKyAgKiB0aGVtIGJ5IGNhbGxpbmcgZHJtX2FkZF9lZGlkX21vZGVz KCkuIEJ1dCBjb25uZWN0b3JzIHRoYXQgZHJpdmUgYQo+ID4gPiA+ID4gPiA+ID4gICAgKiBmaXhl ZCBwYW5lbCBjYW4gYWxzbyBtYW51YWxseSBhZGQgc3BlY2lmaWMgbW9kZXMgdXNpbmcKPiA+ID4g PiA+ID4gPiA+ICAgICogZHJtX21vZGVfcHJvYmVkX2FkZCgpLiBEcml2ZXJzIHdoaWNoIG1hbnVh bGx5IGFkZCBtb2RlcyBzaG91bGQgYWxzbwo+ID4gPiA+ID4gPiA+ID4gICAgKiBtYWtlIHN1cmUg dGhhdCB0aGUgJmRybV9jb25uZWN0b3IuZGlzcGxheV9pbmZvLAo+ID4gPiA+ID4gPiA+ID4gICAg KiAmZHJtX2Nvbm5lY3Rvci53aWR0aF9tbSBhbmQgJmRybV9jb25uZWN0b3IuaGVpZ2h0X21tIGZp ZWxkcyBhcmUKPiA+ID4gPiA+ID4gPiA+ICAgICogZmlsbGVkIGluLgo+ID4gPiA+ID4gPiA+ID4g ICAgKgo+ID4gPiA+ID4gPiA+ID4gKyAgKiBOb3RlIHRoYXQgdGhlIGNhbGxlciBmdW5jdGlvbiB3 aWxsIGF1dG9tYXRpY2FsbHkgYWRkIHN0YW5kYXJkIFZFU0EKPiA+ID4gPiA+ID4gPiA+ICsgICog RE1UIG1vZGVzIHVwIHRvIDEwMjR4NzY4IGlmIHRoZSAuZ2V0X21vZGVzKCkgaGVscGVyIG9wZXJh dGlvbiByZXR1cm5zCj4gPiA+ID4gPiA+ID4gPiArICAqIG5vIG1vZGUgYW5kIGlmIHRoZSBjb25u ZWN0b3Igc3RhdHVzIGlzIGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkIG9yCj4gPiA+ID4gPiA+ ID4gPiArICAqIGNvbm5lY3Rvcl9zdGF0dXNfdW5rbm93bi4gVGhlcmUgaXMgbm8gbmVlZCB0byBj YWxsCj4gPiA+ID4gPiA+ID4gPiArICAqIGRybV9hZGRfZWRpZF9tb2RlcygpIG1hbnVhbGx5IGlu IHRoYXQgY2FzZS4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBIbSBjYWxsaW5nIGRybV9hZGRfZWRpZF9t b2RlcyBpZiB5b3UgaGF2ZSBubyBlZGlkIGlzIGEgYml0IGEgZnVubnkgaWRlYQo+ID4gPiA+ID4g Li4uIFBlcnNvbmFsbHkgSSdkIGp1c3QgbGVhdmUgb3V0IHRoZSBsYXN0IHNlbnRlbmNlLCBJIHRo aW5rIHRoYXQgb25seQo+ID4gPiA+ID4gY29uZnVzZXMgcmVhZGVycy4gT3IgSSdtIG5vdCBncmFz cGhpbmcgd2hhdCB5b3UncmUgdHJ5aW5nIHRvIHRlbGwgaGVyZS4KPiA+ID4gPgo+ID4gPiA+IElJ UkMsIHNvbWUgZHJpdmVycyB1c2VkIGFuZCBkZXNrdG9wIGVudmlyb25tZW50cyBleHBlY3RlZCB1 bmtub3duCj4gPiA+ID4gcmF0aGVyIHRoYW4gb2ZmIGZvciBMVkRTL2VEUCBwYW5lbHMgd2hlbiB0 aGUgbGlkIHdhcyBzaHV0IG9yIGlmIHRoZQo+ID4gPiA+IG11eCB3YXMgc3dpdGNoZWQgdG8gYW5v dGhlciBkZXZpY2UgaW4gdGhlIGNhc2Ugb2YgaHlicmlkIGxhcHRvcHMuCj4gPiA+Cj4gPiA+IFdl IHNlZW0gdG8gaGF2ZSB0b3RhbGx5IGRpdGNoZWQgdGhhdCBpbgo+ID4gPgo+ID4gPiBjb21taXQg MDVjNzJlNzdjY2RhODlmZjYyNDEwOGIxYjU5YTBmYzQzODQzZjM0Mwo+ID4gPiBBdXRob3I6IFZp bGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiA+IERhdGU6 ICAgVHVlIEp1bCAxNyAyMDo0MjoxNCAyMDE4ICswMzAwCj4gPiA+Cj4gPiA+ICAgICBkcm0vaTkx NTogTnVrZSB0aGUgTFZEUyBsaWQgbm90aWZpZXIKPiA+ID4KPiA+ID4gTm8gc2NyZWFtaW5nIHll dC4KPiA+ID4KPiA+ID4gQnV0IEknbSBhbHNvIGEgYml0IGNvbmZ1c2VkLCBmb3IgYSBwYW5lbCB0 aGVyZSdzIGdlbmVyYWxseSBhbiBlZGlkCj4gPiA+IGFyb3VuZCwgb3IgYSBmaXhlZCAobGlzdCBv ZikgbW9kZXMuIFRoYXQncyBlbm91Z2ggdG8gc3RvcCB0aGlzCj4gPiA+IGZhbGxiYWNrIGZyb20g cnVubmluZywgc28gc2hvdWxkIGJlIGFsbCBmaW5lLgo+ID4KPiA+IE5vLCB5b3UgYXJlIHJpZ2h0 OyB5b3Ugd2lsbCBoYXZlIHRoZSBFRElEIHNvIHRoaXMgc2hvdWxkbid0IGJlIGFuCj4gPiBpc3N1 ZS4gIEkgd2FzIG1pcy1yZW1lbWJlcmluZyB0aGUgb3JpZ2luYWwgaXNzdWUuICBXZSBvcmlnaW5h bGx5Cj4gPiBhbHdheXMgcmVwb3J0ZWQgY29ubmVjdGVkIGZvciBMVkRTIGluIHJhZGVvbiBpZiB0 aGUgcGFuZWwgd2FzIHByZXNlbnQsCj4gPiBidXQgdGhlbiB3ZSBnb3QgZmxhY2sgYmVjYXVzZSBz b21lIHVzZXJzcGFjZSBleHBlY3RlZCB1bmtub3duIGluCj4gPiBjZXJ0YWluIGNhc2VzIChlLmcu LCBsaWQgb3IgbXV4ZWQgZGlzcGxheXMpLiAgRWl0aGVyIHdheSB0aGUgRURJRCBpbmZvCj4gPiBp cyBzdGlsbCB0aGVyZS4KPgo+IFllYWggSSB0aGluayBpOTE1IHN0YXJ0ZWQgdGhhdCBoYWJpdCwg YnV0IEkgZ3Vlc3MgcGVvcGxlIHJlYWxpemVkIGl0J3MKPiB1bnJlbGlhYmxlIGVub3VnaCB0aGF0 IHRoZXkgc2hvdWxkIGhhdmUgdGhlaXIgb3duIGxpZCBoYW5kbGVyIGluIHRoZQo+IGRlc2t0b3Ag ZW52aXJvbW5lbnQgZG9pbmcgd2hhdGV2ZXIgdGhleSB3YW50IHRvIGRvIG9uIGxpZCBjbG9zZS4K Pgo+IFNob3VsZCB3ZSBwZXJoYXBzIGRvY3VtZW50IHRoYXQgc29tZXdoZXJlLCB0aGF0IHBhbmVs cyBhcmUgYWx3YXlzIG1hcmtlZAo+IGFzIGNvbm5lY3RlZD8gTm90IGV2ZW4gc3VyZSB3aGVyZSB0 byBwdXQgdGhhdCBpbiB0aGUgZG9jcyAuLi4KPgo+IE1heWJlIGFkZGluZyBhIGZldyBvZiB0aGUg dXN1YWwgc3VzcGVjdHMgZnJvbSB0aGUgY29tcG9zaXRvciBzaWRlLCBTaW1vbiwKPiBQZWtrYT8K CkFjdHVhbGx5IGFkZGluZyBTaW1vbiBhbmQgUGVra2EgdGhpcyB0aW1lIGFyb3VuZCAuLi4KCj4g LURhbmllbAo+Cj4gPgo+ID4gQWxleAo+ID4KPiA+Cj4gPiA+IC1EYW5pZWxsCj4gPiA+Cj4gPiA+ ID4KPiA+ID4gPiBBbGV4Cj4gPiA+ID4KPiA+ID4gPgo+ID4gPiA+ID4KPiA+ID4gPiA+IHItYiB3 aXRoIG9yIHdpdGhvdXQgdGhpcyBjaGFuZ2Ugc2luY2UgaW1vIHN1cGVyIHRpbnkgbml0Lgo+ID4g PiA+ID4KPiA+ID4gPiA+IENoZWVycywgRGFuaWVsCj4gPiA+ID4gPgo+ID4gPiA+ID4gPiA+ID4g KyAgKgo+ID4gPiA+ID4gPiA+ID4gICAgKiBWaXJ0dWFsIGRyaXZlcnMgdGhhdCBqdXN0IHdhbnQg c29tZSBzdGFuZGFyZCBWRVNBIG1vZGUgd2l0aCBhIGdpdmVuCj4gPiA+ID4gPiA+ID4gPiAgICAq IHJlc29sdXRpb24gY2FuIGNhbGwgZHJtX2FkZF9tb2Rlc19ub2VkaWQoKSwgYW5kIG1hcmsgdGhl IHByZWZlcnJlZAo+ID4gPiA+ID4gPiA+ID4gICAgKiBvbmUgdXNpbmcgZHJtX3NldF9wcmVmZXJy ZWRfbW9kZSgpLgo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiAtLQo+ID4gPiA+ID4gPiBSZWdhcmRz LAo+ID4gPiA+ID4gPgo+ID4gPiA+ID4gPiBMYXVyZW50IFBpbmNoYXJ0Cj4gPiA+ID4gPgo+ID4g PiA+ID4gLS0KPiA+ID4gPiA+IERhbmllbCBWZXR0ZXIKPiA+ID4gPiA+IFNvZnR3YXJlIEVuZ2lu ZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgo+ID4gPiA+ID4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKPiA+ ID4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4g PiA+ID4gPiBkcmktZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiA+ID4gPiBkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCj4gPiA+ID4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+ID4gPgo+ID4gPgo+ID4gPgo+ID4gPiAtLQo+ID4g PiBEYW5pZWwgVmV0dGVyCj4gPiA+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlv bgo+ID4gPiBodHRwOi8vYmxvZy5mZndsbC5jaAo+Cj4gLS0KPiBEYW5pZWwgVmV0dGVyCj4gU29m dHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCj4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gK CgoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9u Cmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=