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=-7.0 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, MSGID_FROM_MTA_HEADER,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=unavailable 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 8703FC47254 for ; Tue, 5 May 2020 18:00:01 +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 4E23E206B8 for ; Tue, 5 May 2020 18:00:01 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="nWvIybuV" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4E23E206B8 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amd.com 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 9F95D6E81E; Tue, 5 May 2020 18:00:00 +0000 (UTC) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2066.outbound.protection.outlook.com [40.107.94.66]) by gabe.freedesktop.org (Postfix) with ESMTPS id 498EE6E0EE; Tue, 5 May 2020 17:59:59 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VBVRGpIaMbXCzEfJ+iAyhYyOeiWgMb7T+S1VUfXO7wEcDhmv18uGzo9eK6xjzSCq6o3UEhiklagNTGsPWnd08rG71Q2x0nkaLrIx4QpeKY2eedUHiyga9AAkXUZ22sc1zCIOALMrkt7Wdhe1pI6ypd/3uIo29xSMHolbfW9yLi+sFR5/mu4wqbdy1CUVQQDH3YTeNCDhRvmHCEZKkLbDCbMiRiJQYgb1LQrU6YbGSdnr68eZ+qtleUZ2neieMXCJs2VQ+/ZUC/Auo1Hoe0EWHfIOpokPFigGO29Rbzf/wrvCCxXVYv++tz9P9di48q1D2K/5Uxk7JvsSGXzv834RHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BL1Q0UU5SgLkfg0w8xy9w8FfWkVukUKydXAY5nRy140=; b=AywuVwNF/hnat+toI4/ts8JRgK1A5601J44KKYbctNGiRcpQsqp1UGy1eYjwtEAbyazrkKzP1QMihwH9B4IxK6m2E6h8yJUGqo1lFkpp183MNbD1ZSJrX+lwupFQZE7BODWK0nl78MRfmjEctrYzmMjllCbDnqZakdl64chAtWxi/4gEA8iyAM0FngAG94Fq115Q1yFId0RF74TvdlM0JndFPM/fepTQXPG7ZvBZQnvJUbrD8KfMcsmcptqGQuESXAiY+sMfCwQMlwVA4CN3HWoGCPHhtkZbIFfkPKxrNHLg3OSRCmmjzJxTAvl4W1gzMnxQSJpPOpmMmi0HCNFSvg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BL1Q0UU5SgLkfg0w8xy9w8FfWkVukUKydXAY5nRy140=; b=nWvIybuV7oUdlED/AgyghHYrMsq6H1xqxVK6IZ7HXLFlExxmlIQBAS477BPtbMkdgUdUAkEX2o7HrL2R8pKECVE0Cy4J9BzExXV74KxCrS3vU4k7Hr4srN69P4JZu8Yaq4H+6YJcb+I/iwutQ+uXJcTBK1CLpA0OXXdh6GY/7pQ= Authentication-Results: lists.freedesktop.org; dkim=none (message not signed) header.d=none; lists.freedesktop.org; dmarc=none action=none header.from=amd.com; Received: from BYAPR12MB3560.namprd12.prod.outlook.com (2603:10b6:a03:ae::10) by BYAPR12MB3048.namprd12.prod.outlook.com (2603:10b6:a03:ad::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2958.19; Tue, 5 May 2020 17:59:58 +0000 Received: from BYAPR12MB3560.namprd12.prod.outlook.com ([fe80::fd29:4119:9ef5:8210]) by BYAPR12MB3560.namprd12.prod.outlook.com ([fe80::fd29:4119:9ef5:8210%7]) with mapi id 15.20.2958.030; Tue, 5 May 2020 17:59:58 +0000 Subject: Re: [PATCH] drm/amd/display: Fix pageflip event race condition for DCN. (v2) To: Alex Deucher , Matt Coffin References: <20200305212044.3857-1-mario.kleiner.de@gmail.com> <41ab0520-e29a-b6ed-bf5e-fbdf1eec0ceb@daenzer.net> From: "Kazlauskas, Nicholas" Message-ID: Date: Tue, 5 May 2020 13:59:52 -0400 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 In-Reply-To: Content-Language: en-US X-ClientProxiedBy: YTOPR0101CA0063.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b00:14::40) To BYAPR12MB3560.namprd12.prod.outlook.com (2603:10b6:a03:ae::10) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [172.31.148.234] (165.204.55.211) by YTOPR0101CA0063.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:b00:14::40) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.27 via Frontend Transport; Tue, 5 May 2020 17:59:56 +0000 X-Originating-IP: [165.204.55.211] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: d9d6ac5b-344c-494a-ea05-08d7f11e1f8d X-MS-TrafficTypeDiagnostic: BYAPR12MB3048:|BYAPR12MB3048: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-Forefront-PRVS: 0394259C80 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gNCmeS0d9bWeDRwrreekx5OOBfcYnIxFXrMUVgPJanpyB3mZuqHvr5W74uC1b9luAQEyJXUxIw5oNfyHl756XYP6QoQGjAmxHjv37FLBXUR1DV/83E90E2VpQr+gOG3XFj774uTwklcopSZlY/WdCasmFHNys7pPdQ0OHPTHGFcDaFCHn4qUOiKV/C72eUpTkauUf027+SCkkvBnNYHdpmy3vzlDYko/QGzsKDOzydbtQ5SHjuu95RBZFRwqEH8OwFll3K2rNV1B6Ip4zNoLvkh8nqRoP2Ncu6NF0L7cz/PwjtlDEQfgvDcMtFDJ/nmcWAezlirlbR46Vz8cqHGlj97cbntBUpnU4uQFTRTUVXAvqYuUAg+4eDjZIWC2oVL3fdIr6phFlmNSMSiWUtDJNv//dRGUm06QzpX2BrN0CG000pzGMFqTui8yGhCufj93rrhAeuOZzuPTaJWzqXyLQefRXFJCal+7ARXN92QSNpB/3coP+F22eZ2D7L45s99wG+hvJxEItP6fn5r2K2JmMJZLSAXsDip5bxRNhOGNDw4NCQyGw4CC0EN3Vtrr0/ddn/eU3M4vi3aE29Rc/7QSEJJa4EkcXlxZYr766NXK1DPHdQTk0auAgUObbL7oc2H0IEo2seBi1/KtGYEU/iMk5w== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR12MB3560.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(39860400002)(366004)(376002)(136003)(346002)(396003)(33430700001)(52116002)(478600001)(2616005)(956004)(6666004)(316002)(33440700001)(966005)(54906003)(110136005)(36756003)(16576012)(2906002)(31696002)(86362001)(31686004)(26005)(8676002)(6486002)(186003)(16526019)(53546011)(5660300002)(8936002)(4326008)(66574012)(66476007)(66556008)(66946007)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: qrFhw2+Cxd2w8wDa/x1+UxLJulxdt54BmxCplFZy9h3x0MGaqvyx6UxU8TkAfhXlyBBMB0E6t1DcwVry6sPyYvYtPSdFiPZS7cKOKuLttQAC992BbB9Sm1SkZbcUH7XgIcIz3jcESF3SQFVyKqtNWsB36j+J9C/kFD7w+WzHbW0lYFSyzB1/D0o1Fk0Py+qKN2zzaWsmqAv3sJORLjWbIVr1B+UmVgi2L3xauuuHserd7LwNMndSKUddvr4Zshm45L5p9MW1TRK0BQ3VXkaNShx3IA8YegbJ+xmVjdX6UoYEWBKejf7rzCYWlmUxv/N741wCYwaxZFvHHJ1EN27Y0cDGQ/j1c9sNiQW+ZtQnJzj7Q8EU32i+PweYoIqq6Qf0R6qGEF0Mfp7mbIapItPuEmqEdKg6eO3ITUu+b/IcI5cSyi/MGlEctGekWNBm73eFbG+X9smrGhFrnNNE1sECmVcVcyfuvjann9fictb6Hi4lvWwK2P2gtNhsdoIwo6uarGHHo7a90qbbGX5edDrSTFHN1xbnEiUAOLWBe2Q/kB066V8L8oj+ND+gK9xcfblF+iWpLZJvmfnVxtF6NZdrZcOK0DDT+4t3oDR2uqWeOexsrAPRHm3HXyMTvyM/A3ymubwHXKdHqjsYp4f2PLbCuEZDnbzlEqf+s4DoMrboUCYMdw1X2iXfpPQWRnkGEh5aswTVKSLW/T/KxnCXYfAHtsZqdjyQDN1n8fQ96ZkLwIcVLcTLF0jySlYemzU0RqVMylO5wO0qlIcmkCPPSjjlzUZVO3Qcsthz7lzVadGy1fs= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: d9d6ac5b-344c-494a-ea05-08d7f11e1f8d X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 May 2020 17:59:58.0209 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: tiv3mjkyuDpSzxspTfc7BfwvqvgFloiDj8qqQCa6yO9R8suIqG6lwHU6EI3X2gmYe+flB3SSQXVmIM25fzJr1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB3048 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: "Leo \(Sunpeng\) Li" , =?UTF-8?Q?Michel_D=c3=a4nzer?= , amd-gfx list , Maling list - DRI developers , "Deucher, Alexander" , Harry Wentland Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Q2FuIHlvdSBmaWxlIGEgZnVsbCBidWcgcmVwb3J0IG9uIHRoZSBnaXRsYWIgdHJhY2tlcj8KCkZy ZWVTeW5jIGlzIHN0aWxsIHdvcmtpbmcgb24gbXkgTmF2aSBzZXR1cHMgd2l0aCB0aGlzIHBhdGNo IGFwcGxpZWQsIGFuZCAKdGhpcyBwYXRjaCBpcyBlc3NlbnRpYWxseSBqdXN0IGEgcmV2ZXJ0IG9m IGFub3RoZXIgcGF0Y2ggYWxyZWFkeSAod2hlcmUgCkZyZWVTeW5jIHdvcmtlZCBiZWZvcmUpLgoK SSBjYW4gdW5kZXJzdGFuZCB0aGUgdjIgb2YgdGhpcyBzZXJpZXMgY2F1c2luZyBpc3N1ZXMsIGJ1 dCB0aGUgdjEgCnNob3VsZG4ndCBiZSAtIHNvIEknZCBsaWtlIHRvIHVuZGVyc3RhbmQgbW9yZSBh Ym91dCB0aGUgc2V0dXAgd2hlcmUgdGhpcyAKaXMgY2F1c2luZyBpc3N1ZXMgLSBBU0lDLCBPUywg Y29tcG9zaXRvciwgZGlzcGxheXMsIGRtZXNnIGxvZywgWCBsb2csIGV0Yy4KClJlZ2FyZHMsCk5p Y2hvbGFzIEthemxhdXNrYXMKCk9uIDIwMjAtMDUtMDUgMTowMyBwLm0uLCBBbGV4IERldWNoZXIg d3JvdGU6Cj4gTWFyaW8gb3IgTmljayBhbnkgdGhvdWdodHM/Cj4gCj4gQWxleAo+IAo+IE9uIE1v biwgTWF5IDQsIDIwMjAgYXQgMTozNSBQTSBNYXR0IENvZmZpbiA8bWNvZmZpbjEzQGdtYWlsLmNv bT4gd3JvdGU6Cj4+Cj4+IEhleSBndXlzLAo+Pgo+PiBUaGlzIGlzIHN0aWxsIGFuIGlzc3VlIGZv ciBtZSwgYW5kIEknbSBzdGlsbCBoYXZpbmcgdG8gcnVuIGEgcGF0Y2ggdG8KPj4gcmV2ZXJ0IHRo aXMgYXMgb2YgNS43LXJjNC4gVG8gYXZvaWQgYnJlYWtpbmcgYSBsb3Qgb2YgcGVvcGxlJ3MgTmF2 aQo+PiBzZXR1cHMgaW4gNS43LCBpcyB0aGVyZSBhbnkgbmV3cyBvbiB0aGlzPyBIYXMgYW55b25l IGVsc2UgYXQgdGhlIHZlcnkKPj4gbGVhc3QgYmVlbiBhYmxlIHRvIHJlcHJvZHVjZSB0aGUgcHJv YmxlbT8KPj4KPj4gSXQgaGFwcGVucyBmb3IgbWUgaW4gZXZlcnkgc2luZ2xlIHByb2dyYW0gdGhh dCBtZXNhIGFsbG93cyB0byB1dGlsaXplCj4+IHZhcmlhYmxlIHJlZnJlc2ggcmF0ZXMsIGFuZCBy ZXZlcnRpbmcgaXQgImZpeGVzIiB0aGUgaXNzdWUuCj4+Cj4+IENoZWVycywgYW5kIHNvcnJ5IGZv ciB0aGUgZXh0cmEgZW1haWwsIGp1c3QgbWFraW5nIHN1cmUgdGhpcyBpcyBzdGlsbCBvbgo+PiBz b21lb25lJ3MgcmFkYXIsCj4+IE1hdHQKPj4KPj4gT24gNC8xNC8yMCA1OjMyIFBNLCBNYXR0IENv ZmZpbiB3cm90ZToKPj4+IEhleSBldmVyeW9uZSwKPj4+Cj4+PiBUaGlzIHBhdGNoIGJyb2tlIHZh cmlhYmxlIHJlZnJlc2ggcmF0ZSBpbiBnYW1lcyAoYWxsIHRoYXQgSSd2ZSB0cmllZCBzbwo+Pj4g ZmFyLi4uIFByb2plY3QgQ0FSUyAyLCBEaVJUIFJhbGx5IDIuMCwgQXNzZXR0byBDb3JzYSBDb21w ZXRpemlvbmUpIGFzCj4+PiB3ZWxsIGFzIGEgc2ltcGxlIGZyZWVzeW5jIHRlc3RlciBhcHBsaWNh dGlvbi4KPj4+Cj4+PiBGcmVlU3luYyB0ZXN0ZXIgSSd2ZSBiZWVuIHVzaW5nOiBodHRwczovL2dp dGh1Yi5jb20vTml4b2xhL1ZSUlRlc3QKPj4+Cj4+PiBJJ20gbm90IGF0IGFsbCBmYW1pbGlhciB3 aXRoIHRoZSBwYWdlIGZsaXBwaW5nIGNvZGUsIHNvIGl0IHdvdWxkIHRha2UgbWUKPj4+IGEgbG9u ZyB0aW1lIHRvIGZpbmQgdGhlICpyaWdodCogd2F5IHRvIGZpeCBpdCwgYnV0IGRvZXMgc29tZW9u ZSBlbHNlIHNlZQo+Pj4gd2h5IGl0IHdvdWxkIGRvIHRoYXQ/Cj4+Pgo+Pj4gVGhlIHN5bXB0b20g aXMgdGhhdCB0aGUgcmVmcmVzaCByYXRlIG9mIHRoZSBkaXNwbGF5IGNvbnN0YW50bHkgYm91bmNl cwo+Pj4gYmV0d2VlbiB0aGUgdHdvIGVuZHMgb2YgdGhlIEZyZWVTeW5jIHJhbmdlIChmb3IgbWUg NDAgLT4gMTQ0KSwgYW5kIHRoZQo+Pj4gZ2FtZSBzdHV0dGVycyBsaWtlIGEgbWFkbWFuLgo+Pj4K Pj4+IEFueSBoZWxwIG9uIHdoZXJlIHRvIHN0YXJ0LCBpZGVhcyBvbiBob3cgdG8gZml4IGl0IChv dGhlciB0aGFuIGp1c3QKPj4+IHJldmVydCB0aGlzIGNvbW1pdCwgd2hpY2ggSSd2ZSBkb25lIGlu IHRoZSBpbnRlcmltKSwgb3IgYWx0ZXJuYXRpdmUKPj4+IHBhdGNoZXMgd291bGQgYmUgYXBwcmVj aWF0ZWQuCj4+Pgo+Pj4gVGhhbmtzIGluIGFkdmFuY2UgZm9yIHRoZSB3b3JrL2hlbHAsCj4+PiBN YXR0Cj4+Pgo+Pj4gT24gMy8xMy8yMCA4OjQyIEFNLCBNaWNoZWwgRMOkbnplciB3cm90ZToKPj4+ PiBPbiAyMDIwLTAzLTEzIDE6MzUgcC5tLiwgS2F6bGF1c2thcywgTmljaG9sYXMgd3JvdGU6Cj4+ Pj4+IE9uIDIwMjAtMDMtMTIgMTA6MzIgYS5tLiwgQWxleCBEZXVjaGVyIHdyb3RlOgo+Pj4+Pj4g T24gVGh1LCBNYXIgNSwgMjAyMCBhdCA0OjIxIFBNIE1hcmlvIEtsZWluZXIKPj4+Pj4+IDxtYXJp by5rbGVpbmVyLmRlQGdtYWlsLmNvbT4gd3JvdGU6Cj4+Pj4+Pj4KPj4+Pj4+PiBDb21taXQgJzE2 ZjE3ZWRhOGJhZCAoImRybS9hbWQvZGlzcGxheTogU2VuZCB2YmxhbmsgYW5kIHVzZXIKPj4+Pj4+ PiBldmVudHMgYXQgdnNhcnR1cCBmb3IgRENOIiknIGludHJvZHVjZXMgYSBuZXcgd2F5IG9mIHBh Z2VmbGlwCj4+Pj4+Pj4gY29tcGxldGlvbiBoYW5kbGluZyBmb3IgRENOLCBhbmQgc29tZSB0cm91 YmxlLgo+Pj4+Pj4+Cj4+Pj4+Pj4gVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gaW50cm9kdWNl cyBhIHJhY2UgY29uZGl0aW9uLCB3aGljaAo+Pj4+Pj4+IGNhbiBjYXVzZSBwYWdlZmxpcCBjb21w bGV0aW9uIGV2ZW50cyB0byBiZSBzZW50IG91dCBvbmUgdmJsYW5rCj4+Pj4+Pj4gdG9vIGVhcmx5 LCB0aGVyZWJ5IGNvbmZ1c2luZyB1c2Vyc3BhY2UgYW5kIGNhdXNpbmcgZmxpY2tlcjoKPj4+Pj4+ Pgo+Pj4+Pj4+IHByZXBhcmVfZmxpcF9pc3IoKToKPj4+Pj4+Pgo+Pj4+Pj4+IDEuIFBhZ2VmbGlw IHByb2dyYW1taW5nIHRha2VzIHRoZSBkZGV2LT5ldmVudF9sb2NrLgo+Pj4+Pj4+IDIuIFNldHMg YWNydGMtPnBmbGlwX3N0YXR1cyA9PSBBTURHUFVfRkxJUF9TVUJNSVRURUQKPj4+Pj4+PiAzLiBS ZWxlYXNlcyBkZGV2LT5ldmVudF9sb2NrLgo+Pj4+Pj4+Cj4+Pj4+Pj4gLS0+IERlYWRsaW5lIGZv ciBzdXJmYWNlIGFkZHJlc3MgcmVncyBkb3VibGUtYnVmZmVyaW5nIHBhc3NlcyBvbgo+Pj4+Pj4+ ICAgICAgIHRhcmdldCBwaXBlLgo+Pj4+Pj4+Cj4+Pj4+Pj4gNC4gZGNfY29tbWl0X3VwZGF0ZXNf Zm9yX3N0cmVhbSgpIE1NSU8gcHJvZ3JhbXMgdGhlIG5ldyBwYWdlZmxpcAo+Pj4+Pj4+ICAgICAg aW50byBodywgYnV0IHRvbyBsYXRlIGZvciBjdXJyZW50IHZibGFuay4KPj4+Pj4+Pgo+Pj4+Pj4+ ID0+IHBmbGlwX3N0YXR1cyA9PSBBTURHUFVfRkxJUF9TVUJNSVRURUQsIGJ1dCBmbGlwIHdvbid0 IGNvbXBsZXRlCj4+Pj4+Pj4gICAgICBpbiBjdXJyZW50IHZibGFuayBkdWUgdG8gbWlzc2luZyB0 aGUgZG91YmxlLWJ1ZmZlcmluZyBkZWFkbGluZQo+Pj4+Pj4+ICAgICAgYnkgYSB0aW55IGJpdC4K Pj4+Pj4+Pgo+Pj4+Pj4+IDUuIFZTVEFSVFVQIHRyaWdnZXIgcG9pbnQgaW4gdmJsYW5rIGlzIHJl YWNoZWQsIFZTVEFSVFVQIGlycSBmaXJlcywKPj4+Pj4+PiAgICAgIGRtX2Rjbl9jcnRjX2hpZ2hf aXJxKCkgZ2V0cyBjYWxsZWQuCj4+Pj4+Pj4KPj4+Pj4+PiA2LiBEZXRlY3RzIHBmbGlwX3N0YXR1 cyA9PSBBTURHUFVfRkxJUF9TVUJNSVRURUQgYW5kIGFzc3VtZXMgdGhlCj4+Pj4+Pj4gICAgICBw YWdlZmxpcCBoYXMgYmVlbiBjb21wbGV0ZWQvd2lsbCBjb21wbGV0ZSBpbiB0aGlzIHZibGFuayBh bmQKPj4+Pj4+PiAgICAgIHNlbmRzIG91dCBwYWdlZmxpcCBjb21wbGV0aW9uIGV2ZW50IHRvIHVz ZXJzcGFjZSBhbmQgcmVzZXRzCj4+Pj4+Pj4gICAgICBwZmxpcF9zdGF0dXMgPSBBTURHUFVfRkxJ UF9OT05FLgo+Pj4+Pj4+Cj4+Pj4+Pj4gPT4gRmxpcCBjb21wbGV0aW9uIGV2ZW50IHNlbnQgb3V0 IG9uZSB2YmxhbmsgdG9vIGVhcmx5Lgo+Pj4+Pj4+Cj4+Pj4+Pj4gVGhpcyBiZWhhdmlvdXIgaGFz IGJlZW4gb2JzZXJ2ZWQgZHVyaW5nIG15IHRlc3Rpbmcgd2l0aCBtZWFzdXJlbWVudAo+Pj4+Pj4+ IGhhcmR3YXJlIGEgY291cGxlIG9mIHRpbWUuCj4+Pj4+Pj4KPj4+Pj4+PiBUaGUgY29tbWl0IG1l c3NhZ2Ugc2F5cyB0aGF0IHRoZSBleHRyYSBmbGlwIGV2ZW50IGNvZGUgd2FzIGFkZGVkIHRvCj4+ Pj4+Pj4gZG1fZGNuX2NydGNfaGlnaF9pcnEoKSB0byBwcmV2ZW50IG1pc3NpbmcgdG8gc2VuZCBv dXQgcGFnZWZsaXAgZXZlbnRzCj4+Pj4+Pj4gaW4gY2FzZSB0aGUgcGZsaXAgaXJxIGRvZXNuJ3Qg ZmlyZSwgYmVjYXVzZSB0aGUgIkRDSCBIVUJQIiBjb21wb25lbnQKPj4+Pj4+PiBpcyBjbG9jayBn YXRlZCBhbmQgZG9lc24ndCBmaXJlIHBmbGlwIGlycXMgaW4gdGhhdCBzdGF0ZS4gQWxzbyB0aGF0 Cj4+Pj4+Pj4gdGhpcyBjbG9jayBnYXRpbmcgbWF5IGhhcHBlbiBpZiBubyBwbGFuZXMgYXJlIGFj dGl2ZS4gQWNjb3JkaW5nIHRvCj4+Pj4+Pj4gTmljaG9sYXMsIHRoZSBjbG9jayBnYXRpbmcgY2Fu IGFsc28gaGFwcGVuIGlmIHBzciBpcyBhY3RpdmUsIGFuZCB0aGUKPj4+Pj4+PiBnYXRpbmcgaXMg Y29udHJvbGxlZCBpbmRlcGVuZGVudGx5IGJ5IHRoZSBoYXJkd2FyZSwgc28gZGlmZmljdWx0IHRv Cj4+Pj4+Pj4gZGV0ZWN0IGlmIGFuZCB3aGVuIHRoZSBjb21wbGV0aW9uIGNvZGUgaW4gYWJvdmUg Y29tbWl0IGlzIG5lZWRlZC4KPj4+Pj4+Pgo+Pj4+Pj4+IFRoaXMgcGF0Y2ggdHJpZXMgdGhlIGZv bGxvd2luZyBzb2x1dGlvbjogSXQgb25seSBleGVjdXRlcyB0aGUgZXh0cmEKPj4+Pj4+PiBwZmxp cAo+Pj4+Pj4+IGNvbXBsZXRpb24gY29kZSBpbiBkbV9kY25fY3J0Y19oaWdoX2lycSgpIGlmZiB0 aGUgaGFyZHdhcmUgcmVwb3J0cwo+Pj4+Pj4+IHRoYXQgdGhlcmUgYXJlbid0IGFueSBzdXJmYWNl IHVwZGF0ZWQgcGVuZGluZyBpbiB0aGUgZG91YmxlLWJ1ZmZlcmVkCj4+Pj4+Pj4gc3VyZmFjZSBz Y2Fub3V0IGFkZHJlc3MgcmVnaXN0ZXJzLiBPdGhlcndpc2UgaXQgbGVhdmVzIHBmbGlwIGNvbXBs ZXRpb24KPj4+Pj4+PiB0byB0aGUgcGZsaXAgaXJxIGhhbmRsZXIsIGZvciBhIG1vcmUgcmFjZS1m cmVlIGV4cGVyaWVuY2UuCj4+Pj4+Pj4KPj4+Pj4+PiBUaGlzIHdvdWxkIG9ubHkgZ3VhcmQgYWdh aW5zdCB0aGUgb3JkZXIgb2YgZXZlbnRzIG1lbnRpb25lZCBhYm92ZS4KPj4+Pj4+PiBJZiBTdGVw IDUgKFZTVEFSVFVQIHRyaWdnZXIpIGhhcHBlbnMgYmVmb3JlIHN0ZXAgNCB0aGVuIHRoaXMgd29u J3QgaGVscAo+Pj4+Pj4+IGF0IGFsbCwgYmVjYXVzZSAxLTMgKyA1IG1pZ2h0IGhhcHBlbiBldmVu IHdpdGhvdXQgdGhlIGh3IGJlaW5nCj4+Pj4+Pj4gcHJvZ3JhbW1lZAo+Pj4+Pj4+IGF0IGFsbCwg aWUuIG5vIHN1cmZhY2UgdXBkYXRlIHBlbmRpbmcgYmVjYXVzZSBub25lIHlldCBwcm9ncmFtbWVk Cj4+Pj4+Pj4gaW50byBody4KPj4+Pj4+Pgo+Pj4+Pj4+IFRoZXJlZm9yZSB0aGlzIHBhdGNoIGFs c28gY2hhbmdlcyBsb2NraW5nIGluIGFtZGdwdV9kbV9jb21taXRfcGxhbmVzKCksCj4+Pj4+Pj4g c28gdGhhdCBwcmVwYXJlX2ZsaXBfaXNyKCkgYW5kIGRjX2NvbW1pdF91cGRhdGVzX2Zvcl9zdHJl YW0oKSBhcmUgZG9uZQo+Pj4+Pj4+IHVuZGVyIGV2ZW50X2xvY2sgcHJvdGVjdGlvbiB3aXRoaW4g dGhlIHNhbWUgY3JpdGljYWwgc2VjdGlvbi4KPj4+Pj4+Pgo+Pj4+Pj4+IHYyOiBUYWtlIE5pY2hv bGFzIGNvbW1lbnRzIGludG8gYWNjb3VudCwgdHJ5IGEgZGlmZmVyZW50IHNvbHV0aW9uLgo+Pj4+ Pj4+Cj4+Pj4+Pj4gTGlnaHRseSB0ZXN0ZWQgb24gUG9sYXJpcyAobG9ja2luZykgYW5kIFJhdmVu ICh0aGUgd2hvbGUgRENOIHN0dWZmKS4KPj4+Pj4+PiBTZWVtcyB0byB3b3JrIHdpdGhvdXQgY2F1 c2luZyBvYnZpb3VzIG5ldyB0cm91YmxlLgo+Pj4+Pj4KPj4+Pj4+IE5pY2ssIGFueSBjb21tZW50 cyBvbiB0aGlzPyAgQ2FuIHdlIGdldCB0aGlzIGNvbW1pdHRlZCBvciBkbyB5b3UgdGhpbmsKPj4+ Pj4+IGl0IG5lZWRzIGFkZGl0aW9uYWwgcmV3b3JrPwo+Pj4+Pj4KPj4+Pj4+IFRoYW5rcywKPj4+ Pj4+Cj4+Pj4+PiBBbGV4Cj4+Pj4+Cj4+Pj4+IEhpIEFsZXgsIE1hcmlvLAo+Pj4+Pgo+Pj4+PiBU aGlzIG1pZ2h0IGJlIGEgbGl0dGxlIHN0cmFuZ2UsIGJ1dCBpZiB3ZSB3YW50IHRvIGdldCB0aGlz IGluIGFzIGEgZml4Cj4+Pj4+IGZvciByZWdyZXNzaW9ucyBjYXVzZWQgYnkgdGhlIG9yaWdpbmFs IHZibGFuayBhbmQgdXNlciBldmVudHMgYXQKPj4+Pj4gdnN0YXJ0dXAgcGF0Y2ggdGhlbiBJJ20g YWN0dWFsbHkgZ29pbmcgdG8gZ2l2ZSBteSByZXZpZXdlZCBieSBvbiB0aGUKPj4+Pj4gKnYxKiBv ZiB0aGlzIHBhdGNoIChidXQgbm90IHRoaXMgdjIpOgo+Pj4+Pgo+Pj4+PiBSZXZpZXdlZC1ieTog TmljaG9sYXMgS2F6bGF1c2thcyA8bmljaG9sYXMua2F6bGF1c2thc0BhbWQuY29tPgo+Pj4+Pgo+ Pj4+PiBZb3UgY2FuIGZlZWwgZnJlZSB0byBhcHBseSB0aGF0IG9uZS4KPj4+Pj4KPj4+Pj4gUmVh c29uIDE6IEFmdGVyIGhhdmluZyB0aG91Z2h0IGFib3V0IGl0IHNvbWUgbW9yZSBJIGRvbid0IHRo aW5rIHdlCj4+Pj4+IGVuYWJsZSBhbnl0aGluZyB0b2RheSB0aGF0IGhhcyBodWJwIHBvd2VyZWQg ZG93biBhdCB0aGUgc2FtZSB0aW1lIHdlCj4+Pj4+IGV4cGVjdCB0byBiZSB3YWl0aW5nIGZvciBh IGZsaXAgLSBlZy4gRE1DVSBwb3dlcmluZyBkb3duIEhVQlAgZHVyaW5nIFBTUgo+Pj4+PiBlbnRy eS4gU3RhdGljIHNjcmVlbiBpbnRlcnJ1cHQgc2hvdWxkIGhhcHBlbiBhZnRlciB0aGF0IGZsaXAg ZmluaXNoZXMgSQo+Pj4+PiB0aGluay4KPj4+Pj4KPj4+Pj4gVGhlIENSVEMgY2FuIHN0aWxsIGJl IHBvd2VyZWQgb24gd2l0aCB6ZXJvIHBsYW5lcywgYW5kIEkgZG9uJ3QgdGhpbmsgYW55Cj4+Pj4+ IHVzZXJzcGFjZSBleHBsaWNpdGx5IGFza3MgZm9yIHZibGFuayBldmVudHMgaW4gdGhpcyBjYXNl IGJ1dCBpdCBkb2Vzbid0Cj4+Pj4+IGh1cnQgdG8gaGF2ZSB0aGUgY2hlY2suCj4+Pj4+Cj4+Pj4+ IFJlYXNvbiAyOiBUaGlzIG5ldyBwYXRjaCB3aWxsIG5lZWQgbXVjaCBtb3JlIHRob3JvdWdoIHRl c3RpbmcgZnJvbSBzaWRlCj4+Pj4+IHRvIGZ1bGx5IHVuZGVyc3RhbmQgdGhlIGNvbnNlcXVlbmNl cyBvZiBsb2NraW5nIHRoZSBlbnRpcmUgREMgY29tbWl0Cj4+Pj4+IHNlcXVlbmNlLiBGb3IganVz dCBhIHBhZ2UgZmxpcCB0aGF0IHNvdW5kcyBmaW5lLCBidXQgZm9yIGFueXRoaW5nIG1vcmUKPj4+ Pj4gdGhhbiAoZWcuIGZ1bGwgdXBkYXRlcywgbW9kZXNldHMsIGV0YykgSSBkb24ndCB0aGluayB3 ZSB3YW50IHRvIGJlCj4+Pj4+IGRpc2FibGluZyBpbnRlcnJ1cHRzIGZvciBwb3RlbnRpYWxseSBt YW55IG1pbGxpc2Vjb25kcy4KPj4+Pgo+Pj4+IEFoISBJIHdhcyB3b25kZXJpbmcgd2hlcmUgdGhl IGF0dGFjaGVkIHNwbGF0IGNvbWVzIGZyb20sIGJ1dCBJIHRoaW5rCj4+Pj4gdGhpcyBleHBsYWlu cyBpdDogV2l0aCB0aGlzIHBhdGNoIGFtZGdwdV9kbV9jb21taXRfcGxhbmVzIGtlZXBzIHRoZQo+ Pj4+IHBjcnRjLT5kZXYtPmV2ZW50X2xvY2sgc3BpbmxvY2sgbG9ja2VkIHdoaWxlIGNhbGxpbmcK Pj4+PiBkY19jb21taXRfdXBkYXRlc19mb3Jfc3RyZWFtLCB3aGljaCBlbmRzIHVwIGNhbGxpbmcK Pj4+PiBzbXVfc2V0X2Rpc3BsYXlfY291bnQsIHdoaWNoIHRyaWVzIHRvIGxvY2sgYSBtdXRleC4K Pj4+Pgo+Pj4+Cj4+Pj4KPj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+Pj4+IGFtZC1nZnggbWFpbGluZyBsaXN0Cj4+Pj4gYW1kLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPj4+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2FtZC1nZngKPj4+PgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVsCg==