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=-9.8 required=3.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, 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 CEE9FC433E0 for ; Wed, 5 Aug 2020 05:41:51 +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 A45E62177B for ; Wed, 5 Aug 2020 05:41:51 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="A/lpLvji" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org A45E62177B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.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 2583489F5B; Wed, 5 Aug 2020 05:41:51 +0000 (UTC) Received: from mail-yb1-xb43.google.com (mail-yb1-xb43.google.com [IPv6:2607:f8b0:4864:20::b43]) by gabe.freedesktop.org (Postfix) with ESMTPS id AC42589F5B for ; Wed, 5 Aug 2020 05:41:49 +0000 (UTC) Received: by mail-yb1-xb43.google.com with SMTP id m200so19031548ybf.10 for ; Tue, 04 Aug 2020 22:41:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=ZQuUMNnYAvUS4sTKHudFa7WfsmXcB9OP408ggP/uOQ0=; b=A/lpLvjiLAQzRGLcfoJ/wCA5gL01x6F/PK8Ys+zk5Hl3CsKGikttNSjqsBldi6mtDg gufaOoEypwv+wz6Hj3xSky89qyuwlVEyP7R4CPu8zlP0P9g4YC+g51rUIJaj8cDsinwz 13uGpFDzGuDBPiK8EOBpxLx+8kZV7XW6NxZkxPUMyTkNSjA1x9gb1u8jk81tTS0d7SWS 4a0rlXcgN3lNto1Agju125NLhrqJEiv0TklkkgoNyEo3+wIgDx1Jl+705xgNEE9By4Vh kV1kvV+Y65VYTMtO7RYIl0YsZRn7pfmLIGZACm9pbH55gorqVJPZPRYqsCIj0W8T5GPu Jskg== 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=ZQuUMNnYAvUS4sTKHudFa7WfsmXcB9OP408ggP/uOQ0=; b=YnRF6OlfQKzusdpJF2MiZhH18uPHlteptKgpqOgo+Fu0yjYsSgnQMAFnniShJ9Ls4O DOSiSM1GfEidXcjCJKm7AH/QHiZml7kc+p/J0MyGRRL9b8KVrmFT70cgcoQaVE8mXoxo nPQQGr3p6WtM0aapPzHJ7Mt23w82s+9eIxxJJomIUh0Om+Veevw0KWA8sp4PZa2TQ5qg gxKeOuAwTBSRWZBIXpXD6EEGk9LSbjD1Ql7AFuQb+POMUvsbcpzCgzTBkJ0NfFw0mPek PCXVBjXvfs3eJxenic9NblgeStrZzmGnPtjAZgfKsmKv9h0XYWbS6EoCb6v9XHj68Gud ZS8g== X-Gm-Message-State: AOAM532uYxDuPa3kWitbNeljzdtztdZfAwePVf4qJdhQjJ4tz+zEdgjJ Vg3bS0xee8oCzgcxIyBTpgHINvf6HBL4aJktsQygEUgfSoA= X-Google-Smtp-Source: ABdhPJzY8K7F4JqC28cdhr+Z+NHgnjyGXuE+mHRbUiqee43EXITCgzeA8W+PziBe7Vq1aDPoECew6+cwQ+FFaxTrifo= X-Received: by 2002:a25:3803:: with SMTP id f3mr2262441yba.470.1596606108932; Tue, 04 Aug 2020 22:41:48 -0700 (PDT) MIME-Version: 1.0 References: <20200804025632.3868079-1-airlied@gmail.com> <20200804025632.3868079-24-airlied@gmail.com> In-Reply-To: <20200804025632.3868079-24-airlied@gmail.com> From: Ben Skeggs Date: Wed, 5 Aug 2020 15:41:38 +1000 Message-ID: Subject: Re: [PATCH 23/59] drm/ttm: purge old manager init path. To: Dave Airlie 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: sroland@vmware.com, ML dri-devel , linux-graphics-maintainer@vmware.com, Gerd Hoffmann , =?UTF-8?Q?Christian_K=C3=B6nig?= , Ben Skeggs Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" T24gVHVlLCA0IEF1ZyAyMDIwIGF0IDEyOjU3LCBEYXZlIEFpcmxpZSA8YWlybGllZEBnbWFpbC5j b20+IHdyb3RlOgo+Cj4gRnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KPgo+ IFJldmlld2VkLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+ Cj4gU2lnbmVkLW9mZi1ieTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KUmV2aWV3 ZWQtYnk6IEJlbiBTa2VnZ3MgPGJza2VnZ3NAcmVkaGF0LmNvbT4KCj4gLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS90dG0vdHRtX2JvLmMgICAgICAgICB8IDE5IC0tLS0tLS0tLS0tLS0tLS0tLQo+ICBk cml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9ib19tYW5hZ2VyLmMgfCAyOSArKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUvZHJtL3R0bS90dG1fYm9fYXBpLmggICAgICAgICB8IDE4 IC0tLS0tLS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVyLmggICAg ICB8IDE1IC0tLS0tLS0tLS0tLS0tCj4gIDQgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygr KSwgNzEgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3R0bS90 dG1fYm8uYyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvLmMKPiBpbmRleCBjNTZjYmM2YzBi YTguLmRhODhlYTZjYjgxNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9i by5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm8uYwo+IEBAIC0xNTI5LDI1ICsx NTI5LDYgQEAgdm9pZCB0dG1fbWVtX3R5cGVfbWFuYWdlcl9pbml0KHN0cnVjdCB0dG1fYm9fZGV2 aWNlICpiZGV2LAo+ICB9Cj4gIEVYUE9SVF9TWU1CT0wodHRtX21lbV90eXBlX21hbmFnZXJfaW5p dCk7Cj4KPiAtaW50IHR0bV9ib19pbml0X21tKHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2LCB1 bnNpZ25lZCB0eXBlLAo+IC0gICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgcF9z aXplKQo+IC17Cj4gLSAgICAgICBpbnQgcmV0Owo+IC0gICAgICAgc3RydWN0IHR0bV9tZW1fdHlw ZV9tYW5hZ2VyICptYW47Cj4gLQo+IC0gICAgICAgQlVHX09OKHR5cGUgPj0gVFRNX05VTV9NRU1f VFlQRVMpOwo+IC0gICAgICAgdHRtX21lbV90eXBlX21hbmFnZXJfaW5pdChiZGV2LCAmYmRldi0+ bWFuW3R5cGVdLCBwX3NpemUpOwo+IC0KPiAtICAgICAgIGlmICh0eXBlICE9IFRUTV9QTF9TWVNU RU0pIHsKPiAtICAgICAgICAgICAgICAgcmV0ID0gKCptYW4tPmZ1bmMtPmluaXQpKG1hbiwgcF9z aXplKTsKPiAtICAgICAgICAgICAgICAgaWYgKHJldCkKPiAtICAgICAgICAgICAgICAgICAgICAg ICByZXR1cm4gcmV0Owo+IC0gICAgICAgfQo+IC0gICAgICAgdHRtX21lbV90eXBlX21hbmFnZXJf c2V0X3VzZWQobWFuLCB0cnVlKTsKPiAtICAgICAgIHJldHVybiAwOwo+IC19Cj4gLUVYUE9SVF9T WU1CT0wodHRtX2JvX2luaXRfbW0pOwo+IC0KPiAgc3RhdGljIHZvaWQgdHRtX2JvX2dsb2JhbF9r b2JqX3JlbGVhc2Uoc3RydWN0IGtvYmplY3QgKmtvYmopCj4gIHsKPiAgICAgICAgIHN0cnVjdCB0 dG1fYm9fZ2xvYmFsICpnbG9iID0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3R0bS90 dG1fYm9fbWFuYWdlci5jIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90dG1fYm9fbWFuYWdlci5jCj4g aW5kZXggZWI4NmM4Njk0ZjQ3Li5iNTZjNjk2MWIyNzggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL3R0bS90dG1fYm9fbWFuYWdlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3R0bS90 dG1fYm9fbWFuYWdlci5jCj4gQEAgLTEwNCwxMSArMTA0LDE4IEBAIHN0YXRpYyB2b2lkIHR0bV9i b19tYW5fcHV0X25vZGUoc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4sCj4gICAgICAg ICB9Cj4gIH0KPgo+IC1zdGF0aWMgaW50IHR0bV9ib19tYW5faW5pdF9wcml2YXRlKHN0cnVjdCB0 dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyBwX3NpemUpCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdHRtX21l bV90eXBlX21hbmFnZXJfZnVuYyB0dG1fYm9fbWFuYWdlcl9mdW5jOwo+ICsKPiAraW50IHR0bV9y YW5nZV9tYW5faW5pdChzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwKPiArICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuLAo+ICsgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwX3NpemUpCj4gIHsKPiAgICAgICAgIHN0cnVjdCB0 dG1fcmFuZ2VfbWFuYWdlciAqcm1hbjsKPgo+ICsgICAgICAgbWFuLT5mdW5jID0gJnR0bV9ib19t YW5hZ2VyX2Z1bmM7Cj4gKwo+ICsgICAgICAgdHRtX21lbV90eXBlX21hbmFnZXJfaW5pdChiZGV2 LCBtYW4sIHBfc2l6ZSk7Cj4gKwo+ICAgICAgICAgcm1hbiA9IGt6YWxsb2Moc2l6ZW9mKCpybWFu KSwgR0ZQX0tFUk5FTCk7Cj4gICAgICAgICBpZiAoIXJtYW4pCj4gICAgICAgICAgICAgICAgIHJl dHVybiAtRU5PTUVNOwo+IEBAIC0xMTYsMjEgKzEyMyw3IEBAIHN0YXRpYyBpbnQgdHRtX2JvX21h bl9pbml0X3ByaXZhdGUoc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4sCj4gICAgICAg ICBkcm1fbW1faW5pdCgmcm1hbi0+bW0sIDAsIHBfc2l6ZSk7Cj4gICAgICAgICBzcGluX2xvY2tf aW5pdCgmcm1hbi0+bG9jayk7Cj4gICAgICAgICBtYW4tPnByaXYgPSBybWFuOwo+IC0gICAgICAg cmV0dXJuIDA7Cj4gLX0KPgo+IC1pbnQgdHRtX3JhbmdlX21hbl9pbml0KHN0cnVjdCB0dG1fYm9f ZGV2aWNlICpiZGV2LAo+IC0gICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHR0bV9tZW1fdHlw ZV9tYW5hZ2VyICptYW4sCj4gLSAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIHBf c2l6ZSkKPiAtewo+IC0gICAgICAgaW50IHJldDsKPiAtCj4gLSAgICAgICBtYW4tPmZ1bmMgPSAm dHRtX2JvX21hbmFnZXJfZnVuYzsKPiAtCj4gLSAgICAgICB0dG1fbWVtX3R5cGVfbWFuYWdlcl9p bml0KGJkZXYsIG1hbiwgcF9zaXplKTsKPiAtICAgICAgIHJldCA9IHR0bV9ib19tYW5faW5pdF9w cml2YXRlKG1hbiwgcF9zaXplKTsKPiAtICAgICAgIGlmIChyZXQpCj4gLSAgICAgICAgICAgICAg IHJldHVybiByZXQ7Cj4gICAgICAgICB0dG1fbWVtX3R5cGVfbWFuYWdlcl9zZXRfdXNlZChtYW4s IHRydWUpOwo+ICAgICAgICAgcmV0dXJuIDA7Cj4gIH0KPiBAQCAtMTYzLDExICsxNTYsOSBAQCBz dGF0aWMgdm9pZCB0dG1fYm9fbWFuX2RlYnVnKHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAq bWFuLAo+ICAgICAgICAgc3Bpbl91bmxvY2soJnJtYW4tPmxvY2spOwo+ICB9Cj4KPiAtY29uc3Qg c3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyX2Z1bmMgdHRtX2JvX21hbmFnZXJfZnVuYyA9IHsK PiAtICAgICAgIC5pbml0ID0gdHRtX2JvX21hbl9pbml0X3ByaXZhdGUsCj4gK3N0YXRpYyBjb25z dCBzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXJfZnVuYyB0dG1fYm9fbWFuYWdlcl9mdW5jID0g ewo+ICAgICAgICAgLnRha2Vkb3duID0gdHRtX2JvX21hbl90YWtlZG93biwKPiAgICAgICAgIC5n ZXRfbm9kZSA9IHR0bV9ib19tYW5fZ2V0X25vZGUsCj4gICAgICAgICAucHV0X25vZGUgPSB0dG1f Ym9fbWFuX3B1dF9ub2RlLAo+ICAgICAgICAgLmRlYnVnID0gdHRtX2JvX21hbl9kZWJ1Zwo+ICB9 Owo+IC1FWFBPUlRfU1lNQk9MKHR0bV9ib19tYW5hZ2VyX2Z1bmMpOwo+IGRpZmYgLS1naXQgYS9p bmNsdWRlL2RybS90dG0vdHRtX2JvX2FwaS5oIGIvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19hcGku aAo+IGluZGV4IDg5MDUzZTc2MWE2OS4uMmM4NDYyMmZhYTQ0IDEwMDY0NAo+IC0tLSBhL2luY2x1 ZGUvZHJtL3R0bS90dG1fYm9fYXBpLmgKPiArKysgYi9pbmNsdWRlL2RybS90dG0vdHRtX2JvX2Fw aS5oCj4gQEAgLTU0NiwyNCArNTQ2LDYgQEAgdm9pZCB0dG1fbWVtX3R5cGVfbWFuYWdlcl9pbml0 KHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiwKPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBwX3NpemUpOwo+Cj4gLS8qKgo+IC0gKiB0dG1f Ym9faW5pdF9tbQo+IC0gKgo+IC0gKiBAYmRldjogUG9pbnRlciB0byBhIHR0bV9ib19kZXZpY2Ug c3RydWN0Lgo+IC0gKiBAbWVtX3R5cGU6IFRoZSBtZW1vcnkgdHlwZS4KPiAtICogQHBfc2l6ZTog c2l6ZSBtYW5hZ2VkIGFyZWEgaW4gcGFnZXMuCj4gLSAqCj4gLSAqIEluaXRpYWxpemUgYSBtYW5h Z2VyIGZvciBhIGdpdmVuIG1lbW9yeSB0eXBlLgo+IC0gKiBOb3RlOiBpZiBwYXJ0IG9mIGRyaXZl ciBmaXJzdG9wZW4sIGl0IG11c3QgYmUgcHJvdGVjdGVkIGZyb20gYQo+IC0gKiBwb3RlbnRpYWxs eSByYWNpbmcgbGFzdGNsb3NlLgo+IC0gKiBSZXR1cm5zOgo+IC0gKiAtRUlOVkFMOiBpbnZhbGlk IHNpemUgb3IgbWVtb3J5IHR5cGUuCj4gLSAqIC1FTk9NRU06IE5vdCBlbm91Z2ggbWVtb3J5Lgo+ IC0gKiBNYXkgYWxzbyByZXR1cm4gZHJpdmVyLXNwZWNpZmllZCBlcnJvcnMuCj4gLSAqLwo+IC1p bnQgdHRtX2JvX2luaXRfbW0oc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsIHVuc2lnbmVkIHR5 cGUsCj4gLSAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgcF9zaXplKTsKPiAtCj4gIC8q Kgo+ICAgKiB0dG1fYm9fY2xlYW5fbW0KPiAgICoKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0v dHRtL3R0bV9ib19kcml2ZXIuaCBiL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVyLmgKPiBp bmRleCAzNjcyZGVhM2VkY2EuLjU0OGMyNzI5NGM2NCAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2Ry bS90dG0vdHRtX2JvX2RyaXZlci5oCj4gKysrIGIvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19kcml2 ZXIuaAo+IEBAIC00OCwxOSArNDgsNiBAQAo+ICBzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXI7 Cj4KPiAgc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyX2Z1bmMgewo+IC0gICAgICAgLyoqCj4g LSAgICAgICAgKiBzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgbWVtYmVyIGluaXQKPiAtICAg ICAgICAqCj4gLSAgICAgICAgKiBAbWFuOiBQb2ludGVyIHRvIGEgbWVtb3J5IHR5cGUgbWFuYWdl ci4KPiAtICAgICAgICAqIEBwX3NpemU6IEltcGxlbWVudGF0aW9uIGRlcGVuZGVudCwgYnV0IHR5 cGljYWxseSB0aGUgc2l6ZSBvZiB0aGUKPiAtICAgICAgICAqIHJhbmdlIHRvIGJlIG1hbmFnZWQg aW4gcGFnZXMuCj4gLSAgICAgICAgKgo+IC0gICAgICAgICogQ2FsbGVkIHRvIGluaXRpYWxpemUg YSBwcml2YXRlIHJhbmdlIG1hbmFnZXIuIFRoZSBmdW5jdGlvbiBpcwo+IC0gICAgICAgICogZXhw ZWN0ZWQgdG8gaW5pdGlhbGl6ZSB0aGUgbWFuOjpwcml2IG1lbWJlci4KPiAtICAgICAgICAqIFJl dHVybnMgMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCj4gLSAg ICAgICAgKi8KPiAtICAgICAgIGludCAgKCppbml0KShzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFn ZXIgKm1hbiwgdW5zaWduZWQgbG9uZyBwX3NpemUpOwo+IC0KPiAgICAgICAgIC8qKgo+ICAgICAg ICAgICogc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyIG1lbWJlciB0YWtlZG93bgo+ICAgICAg ICAgICoKPiBAQCAtODIyLDggKzgwOSw2IEBAIGludCB0dG1fcmFuZ2VfbWFuX2luaXQoc3RydWN0 IHR0bV9ib19kZXZpY2UgKmJkZXYsCj4gICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdHRt X21lbV90eXBlX21hbmFnZXIgKm1hbiwKPiAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGxvbmcgcF9zaXplKTsKPgo+IC1leHRlcm4gY29uc3Qgc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5h Z2VyX2Z1bmMgdHRtX2JvX21hbmFnZXJfZnVuYzsKPiAtCj4gIC8qKgo+ICAgKiB0dG1fbWVtX3R5 cGVfbWFuYWdlcl9kZWJ1Zwo+ICAgKgo+IC0tCj4gMi4yNi4yCj4KPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QK PiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2 ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==