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=-5.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 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 529B3C00454 for ; Mon, 9 Dec 2019 13:57:18 +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 0B2072068E for ; Mon, 9 Dec 2019 13:57:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0B2072068E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9909189CD3; Mon, 9 Dec 2019 13:57:17 +0000 (UTC) Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2052.outbound.protection.outlook.com [40.107.223.52]) by gabe.freedesktop.org (Postfix) with ESMTPS id 135B789CD3 for ; Mon, 9 Dec 2019 13:57:16 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OBdQzQQrqvlGmXiNovMUp9jFcw47dlZfLGaTsUyYHhIlno+soE4RQ1RLaIWiNAE8wUcr14F/IPWGA875rj4YofWkfAkBBSsQ12mYQ5dWnBWhsD0KZ2GU+PGRetF1Rn22LWoO0rSpKEvEQb2v+Kf3Ylh96oh463m9nmsTRz6+n8eIbGTeEREOa24rflsxXlmAFI0FFPhg4bBEnieqgfLIk3udLS7aN5stzKlcouUDfPrazfE4muzXEvSp4T9nkRUWvRpcHeMkS48WYAGSvTpjEOUdqMTw1e1DYJeGaVbBTB7ICdKMh4LXXLMD7Bt5MtGtZyI4bq0N/WsHJy522jQdkA== 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=HqDVI4HXXSvZVoj0wCIo4ExzDXjbZYM+QVOgcvdxUnk=; b=nRw2hZSkxrjH1JaQQeyhqedtuav6CgE5/evO2d3VynSjIw8ZSmnNVnc8QZcEQJ6mHMs444DTGNY5qRzu2AnwmqC1OxFyaJeToQT5vV62UdnKqymIVazCs0TroGyXLvYqJPzjY9KzU/YpDC8olh5wIL7BRaap2ocXvzGq/Qp0tM7BNTYzM7v5enXxJkUP0oi/KBsmyax0D9YG6NHdyFEOguCBSCKMid0Bg2bVzZiQTpD0WO4ddAAsYDINtNND55yQIGXpFKxknnM1Cmo5wx7CzN+if9eLexPk07H6447kGDZipvw5cTHdLBi8qqKrhk4iJzQ8vcP+qXhQOLHxEj6lJA== 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 Received: from DM5PR12MB2376.namprd12.prod.outlook.com (52.132.143.139) by DM5PR12MB2551.namprd12.prod.outlook.com (52.132.143.144) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2516.17; Mon, 9 Dec 2019 13:57:14 +0000 Received: from DM5PR12MB2376.namprd12.prod.outlook.com ([fe80::b8ee:257d:3a23:ae8a]) by DM5PR12MB2376.namprd12.prod.outlook.com ([fe80::b8ee:257d:3a23:ae8a%7]) with mapi id 15.20.2516.018; Mon, 9 Dec 2019 13:57:13 +0000 Subject: Re: [PATCH 4/4] drm/scheduler: do not keep a copy of sched list To: =?UTF-8?Q?Christian_K=c3=b6nig?= , Nirmoy Das , alexander.deucher@amd.com, kenny.ho@amd.com References: <20191206173304.3025-1-nirmoy.das@amd.com> <20191206173304.3025-4-nirmoy.das@amd.com> <6cc23df3-97f7-f961-12f3-d99677cd5304@gmail.com> <86d30760-8f27-1c42-f914-b512c9a3a0f1@amd.com> From: Nirmoy Message-ID: Date: Mon, 9 Dec 2019 14:56:23 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 In-Reply-To: <86d30760-8f27-1c42-f914-b512c9a3a0f1@amd.com> Content-Language: en-US X-ClientProxiedBy: ZR0P278CA0031.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1c::18) To DM5PR12MB2376.namprd12.prod.outlook.com (2603:10b6:4:b9::11) MIME-Version: 1.0 X-Originating-IP: [2003:c5:8f24:f900:e0d4:52c0:76b4:9924] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: ed45c84d-0050-4315-8a56-08d77cafb174 X-MS-TrafficTypeDiagnostic: DM5PR12MB2551:|DM5PR12MB2551: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-Forefront-PRVS: 02462830BE X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4636009)(396003)(366004)(376002)(39860400002)(136003)(346002)(189003)(199004)(2616005)(66556008)(66476007)(110136005)(31686004)(6506007)(66946007)(4326008)(6512007)(6636002)(478600001)(8936002)(52116002)(8676002)(81166006)(316002)(6666004)(81156014)(186003)(2870700001)(305945005)(229853002)(53546011)(6486002)(5660300002)(36756003)(31696002)(2906002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR12MB2551; H:DM5PR12MB2376.namprd12.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: amd.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: K1ft2ewQHGIk1beJEhjYjtuETLB30ftiB4PyHsC0Q2vNZahzlukFLjn3rR18eEGZesi1CwLww9feNXqOgGjg9rnt/cGk4pkoxD0KQw2hqxOuHIfh/GOGUaEjuXTKsO2Qdo3p09mRxfNM6K/jEoRi4j7Fx9bsR0xvk3k/ZraQC+6JHjrJ5yNRorepTEWJjliWLziVVwcGz7v96SYREqe7fzfRlJ/l6uhi0TFos54rZihZEXaHYeelJ4nUa+AmkW9yAz08IN1Q7Wq18selnFVAaiRDn8VplKLuY4RsT5kYHUd007odOG0PO3kqaKOc/3IaKRw9s9a/CUENHOo+gkXdp6bfDViloKBmc40F4d4WQTxnrZqq/Th9J4THttLY20BtUrAe8f7WN1m3P12N8p4VtBw7iBFpfjERuBmCobcOmKkQ0zwOMvwmCCD5F2ahB2yN X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: ed45c84d-0050-4315-8a56-08d77cafb174 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2019 13:57:13.7918 (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: lvltGe3WInlFmUcAa4sFlIFgL+PrBVGFsLwo2GSy/PeX0HDRxMd3tv9wdcUOl6xbMOPqObOTRcZy6SMJ/wuIHg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB2551 X-Mailman-Original-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=HqDVI4HXXSvZVoj0wCIo4ExzDXjbZYM+QVOgcvdxUnk=; b=nhlxGDEOPw+WCeRUBUJii39HQ2M7YDvXIrSAnGuzztU503rpf5HzedtXjra03qnSHCdtDjbyTfEGlOHDxmnw5HloaeDaKDvwg2oP2ynz2zGuD5iFiifolYMc/uAQ/4WxW0oZoL4hI5MxKrpLkjlNYtf/beIzbDFdnuKUexyu7Do= X-Mailman-Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Nirmoy.Das@amd.com; X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: nirmoy.das@amd.com, amd-gfx@lists.freedesktop.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" SGkgQ2hyaXN0aWFuLAoKSSBnb3QgYSBkaWZmZXJlbnQgaWRlYSwgYSBiaXQgbW9yZSBzaW1wbGUg bGV0IG1lIGtub3cgd2hhdCBkbyB5b3UgdGhpbmsgCmFib3V0IGl0OgoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oIApiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdS5oCmluZGV4IDUwYmFiMzNjYmEzOS4uOGRlNGRlNGY3YTQzIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHUuaApAQCAtODcwLDYgKzg3MCw3IEBAIHN0cnVjdCBhbWRn cHVfZGV2aWNlIHsKIMKgwqDCoMKgwqDCoMKgIHU2NMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZlbmNlX2NvbnRleHQ7CiDCoMKgwqDCoMKg wqDCoCB1bnNpZ25lZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgbnVtX3JpbmdzOwogwqDCoMKgwqDCoMKgwqAgc3RydWN0IGFtZGdwdV9yaW5nwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgKnJpbmdzW0FNREdQVV9NQVhfUklOR1NdOworwqDCoMKgwqDCoCBz dHJ1Y3QgZHJtX2dwdV9zY2hlZHVsZXIgKnJpbmdzX3NjaGVkX2xpc3RbQU1ER1BVX01BWF9SSU5H U107CiDCoMKgwqDCoMKgwqDCoCBib29swqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGliX3Bvb2xfcmVhZHk7CiDCoMKgwqDCoMKgwqDCoCBzdHJ1 Y3QgYW1kZ3B1X3NhX21hbmFnZXLCoMKgwqDCoMKgwqDCoCByaW5nX3RtcF9ibzsKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3R4LmMgCmIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2N0eC5jCmluZGV4IDFkNjg1MGFmOTkwOC4uNTJiM2E1 ZDg1YTFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY3R4 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2N0eC5jCkBAIC0xMjIs OSArMTIyLDggQEAgc3RhdGljIGludCBhbWRncHVfY3R4X2luaXQoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYsCgogwqDCoMKgwqDCoMKgwqAgZm9yIChpID0gMDsgaSA8IEFNREdQVV9IV19JUF9O VU07ICsraSkgewogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBhbWRncHVf cmluZyAqcmluZ3NbQU1ER1BVX01BWF9SSU5HU107Ci3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqc2NoZWRfbGlzdFtBTURHUFVfTUFYX1JJTkdT XQorwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGRybV9ncHVfc2NoZWR1bGVyICoq c2NoZWRfbGlzdDsKIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBudW1f cmluZ3MgPSAwOwotwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBudW1fcnFz ID0gMDsKCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3dpdGNoIChpKSB7CiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY2FzZSBBTURHUFVfSFdfSVBfR0ZYOgpAQCAtMTc3 LDE3ICsxNzYsMTEgQEAgc3RhdGljIGludCBhbWRncHVfY3R4X2luaXQoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYsCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGJyZWFrOwogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0KCi3CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGZvciAoaiA9IDA7IGogPCBudW1fcmluZ3M7ICsraikgewotwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKCFyaW5nc1tqXS0+ YWRldikKLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBjb250aW51ZTsKLQotwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgc2NoZWRfbGlzdFtudW1fcnFzKytdID0gJnJpbmdzW2pdLT5zY2hlZDsKLcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQotCivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBzY2hlZF9saXN0PSBhZGV2LT5yaW5nc19zY2hlZF9saXN0K3JpbmdzWzBdLT5pZHg7CiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZm9yIChqID0gMDsgaiA8IGFtZGdwdV9jdHhfbnVt X2VudGl0aWVzW2ldOyArK2opCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHIgPSAKZHJtX3NjaGVkX2VudGl0eV9pbml0KCZjdHgtPmVudGl0aWVzW2ldW2pd LmVudGl0eSwKIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHByaW9y aXR5LCBzY2hlZF9saXN0LAotwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IG51bV9ycXMsICZjdHgtPmd1aWx0eSk7CivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIG51bV9yaW5ncywgJmN0eC0+Z3VpbHR5KTsKIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBpZiAocikKIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgZ290byBlcnJvcl9jbGVhbnVwX2VudGl0aWVzOwogwqDCoMKgwqDCoMKgwqAgfQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ZlbmNlLmMgCmIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2ZlbmNlLmMKaW5kZXggMzc3ZmUyMGJjZTIz Li5lOGNmYTM1N2U0NDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9mZW5jZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9mZW5j ZS5jCkBAIC00ODAsNiArNDgwLDggQEAgaW50IGFtZGdwdV9mZW5jZV9kcml2ZXJfaW5pdF9yaW5n KHN0cnVjdCBhbWRncHVfcmluZyAKKnJpbmcsCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmluZy0+bmFtZSk7CiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiByOwogwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0KKworwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBhZGV2LT5yaW5nc19zY2hlZF9saXN0W3JpbmctPmlkeF0gPSAmcmluZy0+c2NoZWQ7CiDC oMKgwqDCoMKgwqDCoCB9CgogwqDCoMKgwqDCoMKgwqAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zZG1hX3Y0XzAuYyAKYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9zZG1hX3Y0XzAuYwppbmRleCBiZDllZDMzYmFiNDMuLmJmZTM2MTk5ZmZlZCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92NF8wLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc2RtYV92NF8wLmMKQEAgLTE3NDQsOCArMTc0NCwx MSBAQCBzdGF0aWMgaW50IHNkbWFfdjRfMF9zd19pbml0KHZvaWQgKmhhbmRsZSkKIMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBBTURHUFVfU0RNQV9JUlFfSU5TVEFOQ0UwICsgaSk7CiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgaWYgKHIpCiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHJldHVybiByOworwqDCoMKgwqDCoMKgIH0KKworwqDCoMKgwqDCoMKgIGlm IChhZGV2LT5zZG1hLmhhc19wYWdlX3F1ZXVlKSB7CivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGZvciAoaSA9IDA7IGkgPCBhZGV2LT5zZG1hLm51bV9pbnN0YW5jZXM7IGkrKykgewoKLcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKGFkZXYtPnNkbWEuaGFzX3BhZ2VfcXVldWUp IHsKIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmluZyA9 ICZhZGV2LT5zZG1hLmluc3RhbmNlW2ldLnBhZ2U7CiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJpbmctPnJpbmdfb2JqID0gTlVMTDsKIMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmluZy0+dXNlX2Rvb3JiZWxsID0g dHJ1ZTsKCkl0IHJlbGllcyBvbiBjb250aWd1b3VzIHJpbmcgaW5pdGlhbGl6YXRpb24gdGhhdCdz IHdoeSBJIGhhZCB0byBjaGFuZ2XCoCAKc2RtYV92NF8wLmMgc28gdGhhdCB3ZSBkbyByaW5nX2lu aXQoc2RtYTAsIHNkbWExLCBwYWdlMCwgcGFnZTF9CgppbnN0ZWFkIG9mIHJpbmdfaW5pdHtzZG1h MCwgcGFnZTAsIHNkbWExLCBwYWdlMX0KCgpSZWdhcmRzLAoKTmlybW95CgpPbiAxMi85LzE5IDE6 MjAgUE0sIENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6Cj4gWWVzLCB5b3UgbmVlZCB0byBkbyB0aGlz IGZvciB0aGUgU0RNQSBhcyB3ZWxsIGJ1dCBpbiBnZW5lcmFsIHRoYXQgCj4gbG9va3MgbGlrZSB0 aGUgaWRlYSBJIGhhZCBpbiBtaW5kIGFzIHdlbGwuCj4KPiBJIHdvdWxkIGRvIGl0IGxpa2UgdGhp czoKPgo+IDEuIENoYW5nZSB0aGUgc3BlY2lhbCBjYXNlIHdoZW4geW91IG9ubHkgZ2V0IG9uZSBz Y2hlZHVsZXIgZm9yIGFuIAo+IGVudGl0eSB0byBkcm9wIHRoZSBwb2ludGVyIHRvIHRoZSBzY2hl ZHVsZXIgbGlzdC4KPiDCoMKgwqAgVGhpcyB3YXkgd2UgYWx3YXlzIHVzZSB0aGUgc2FtZSBzY2hl ZHVsZXIgZm9yIHRoZSBlbnRpdHkgYW5kIGNhbiAKPiBwYXNzIGluIHRoZSBhcnJheSBvbiB0aGUg c3RhY2suCj4KPiAyLiBDaGFuZ2UgYWxsIGNhbGxlcnMgd2hpY2ggdXNlIG1vcmUgdGhhbiBvbmUg c2NoZWR1bGVyIGluIHRoZSBsaXN0IHRvIAo+IHBhc3MgaW4gcG9pbnRlcnMgd2hpY2ggYXJlIG5v dCBhbGxvY2F0ZWQgb24gdGhlIHN0YWNrLgo+IMKgwqDCoCBUaGlzIG9idmlvdXNseSBhbHNvIG1l YW5zIHRoYXQgd2UgYnVpbGQgdGhlIGxpc3Qgb2Ygc2NoZWR1bGVycyBmb3IgCj4gZWFjaCB0eXBl IG9ubHkgb25jZSBkdXJpbmcgZGV2aWNlIGluaXQgYW5kIG5vdCBmb3IgZWFjaCBjb250ZXh0IGlu aXQuCj4KPiAzLiBNYWtlIHRoZSBzY2hlZHVsZXIgbGlzdCBjb25zdCBhbmQgZHJvcCB0aGUga2Nh bGxvYygpL2tmcmVlKCkgZnJvbSAKPiB0aGUgZW50aXR5IGNvZGUuCj4KPiBSZWdhcmRzLAo+IENo cmlzdGlhbi4KPgo+IEFtIDA4LjEyLjE5IHVtIDIwOjU3IHNjaHJpZWIgTmlybW95Ogo+Pgo+PiBP biAxMi82LzE5IDg6NDEgUE0sIENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6Cj4+PiBBbSAwNi4xMi4x OSB1bSAxODozMyBzY2hyaWViIE5pcm1veSBEYXM6Cj4+Pj4gZW50aXR5IHNob3VsZCBub3Qga2Vl cCBjb3B5IGFuZCBtYWludGFpbiBzY2hlZCBsaXN0IGZvcgo+Pj4+IGl0c2VsZi4KPj4+Cj4+PiBU aGF0IGlzIGEgZ29vZCBzdGVwLCBidXQgd2UgbmVlZCB0byB0YWtlIHRoaXMgZnVydGhlci4KPj4K Pj4gSG93IGFib3V0wqAgc29tZXRoaW5nIGxpa2UgPwo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dmeC5oIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9nZnguaAo+PiBpbmRleCAwYWUwYTI3MTViMGQuLmE3MWVlMDg0YjQ3 YSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dmeC5o Cj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZnguaAo+PiBAQCAt MjY5LDggKzI2OSwxMCBAQCBzdHJ1Y3QgYW1kZ3B1X2dmeCB7Cj4+IMKgwqDCoMKgwqDCoMKgIGJv b2zCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg bWVfZndfd3JpdGVfd2FpdDsKPj4gwqDCoMKgwqDCoMKgwqAgYm9vbMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjcF9md193cml0ZV93YWl0Owo+ PiDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgYW1kZ3B1X3JpbmcgZ2Z4X3JpbmdbQU1ER1BVX01BWF9H RlhfUklOR1NdOwo+PiArwqDCoMKgwqDCoMKgIHN0cnVjdCBkcm1fZ3B1X3NjaGVkdWxlciAqZ2Z4 X3NjaGVkX2xpc3RbQU1ER1BVX01BWF9HRlhfUklOR1NdOwo+PiDCoMKgwqDCoMKgwqDCoCB1bnNp Z25lZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbnVtX2dm eF9yaW5nczsKPj4gwqDCoMKgwqDCoMKgwqAgc3RydWN0IGFtZGdwdV9yaW5nIGNvbXB1dGVfcmlu Z1tBTURHUFVfTUFYX0NPTVBVVEVfUklOR1NdOwo+PiArwqDCoMKgwqDCoMKgIHN0cnVjdCBkcm1f Z3B1X3NjaGVkdWxlciAKPj4gKmNvbXB1dGVfc2NoZWRfbGlzdFtBTURHUFVfTUFYX0NPTVBVVEVf UklOR1NdOwo+PiDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbnVtX2NvbXB1dGVfcmluZ3M7Cj4+IMKgwqDCoMKgwqDC oMKgIHN0cnVjdCBhbWRncHVfaXJxX3NyY8KgwqDCoMKgwqDCoMKgwqDCoMKgIGVvcF9pcnE7Cj4+ IMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBhbWRncHVfaXJxX3NyY8KgwqDCoMKgwqDCoMKgwqDCoMKg IHByaXZfcmVnX2lycTsKPj4KPj4KPj4gUmVnYXJkcywKPj4KPj4gTmlybW95Cj4+Cj4KX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5n IGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4