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 6F57FC54E64 for ; Thu, 28 Mar 2024 09:51:07 +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-Type: Content-Transfer-Encoding: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=HSlobdNGg0PUJzI5VdL+lsLJmYGGKSCh/FME5oh1MYE=; b=YfNhiKItUhQHjZ J1Nr6rLgejPFfK1KEauQKh33Ot8a2QTjiA2EoTnJmSaj1irWD6zF8rw617iR3vqSqSxGBMmRUIW65 lSpbZ67uq240HMhhOE+Idg8ShsBwNk1UqqjYg9nglQYXBg3djrKhxDW9r73u1ulyxh9RQ9DE1pj19 a1V2DhqQN/AGzgMf7kJbzClto4aRUMvLF0X5tTJWpa8qxy/w8GJdceo7vM/uxb9DeQZXh+N4wFsMW xvSuKm+iM0k51504wqChI0iblRvS5sjt3myqqXQFISkXxiJG+aHggR0z8dWqM4RHJk1n9Yh+t0R+W 9q+gzOaklqdKU8KD40hw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rpmPQ-0000000DQHl-1x8C; Thu, 28 Mar 2024 09:50:56 +0000 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rpmPM-0000000DQEW-2qDh for linux-arm-kernel@lists.infradead.org; Thu, 28 Mar 2024 09:50:54 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1711619450; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:autocrypt:autocrypt; bh=nxtLpj+iBP9Xt1HHnMn0rZUp2jdjxbDETMue+PmYl4I=; b=aLmklekOFnozbxt++LYlBOC+UOL7k/BHqyPgkCanxiihydrYWahcfjS1lYNfyWFzDgrY9J TMubl7BefYT4XXnXmsRNTnF1sUYeBpzaquM7kiZ1a/ZH2YNx0V+lvpnbJVLSWGfveJrC6X 3H8O+sxz9AyxLFEPlirtQ5IXHHapYjk= Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-467-kPf9ojZcNOSSKEYTLzcdaw-1; Thu, 28 Mar 2024 05:50:48 -0400 X-MC-Unique: kPf9ojZcNOSSKEYTLzcdaw-1 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-33ed22e92c2so448088f8f.0 for ; Thu, 28 Mar 2024 02:50:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711619447; x=1712224247; h=content-transfer-encoding:in-reply-to:organization:autocrypt:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=nxtLpj+iBP9Xt1HHnMn0rZUp2jdjxbDETMue+PmYl4I=; b=f+bD8Ss/Yier3xokaX5SqjHiLmTiakVOmiYTC22CjWxDl7/Xserryczw2c+ZodytB/ X1t6ly0bYrr2jKr66581EHpWXEZeLqGo2IVkfBESa5ddgS+nK69ENKkWVnGDtmEPUHaa wdt9cbXPnkYXNwzHyR8xFyn50zWBg7XFx1589DNPrd8lYRSx7df/bvQYoC4PnhjiB+in uaPT/ufIFyRu5hoTTwXJ2Ms2ssL6w0OyVigR6lIdCYFOaq+MLx11sC4JqZvWRGyF9Ylj pgqoDIqD3qiWwT+e7H/KQ0XzBGxQp/6zkNLKYeOoVgEK3RUBVAz7cmxhTf36+uYWbfRk HeRw== X-Forwarded-Encrypted: i=1; AJvYcCXNvouuE95YiqY7dDeAbjhkVGAbXOoz/Y1x3/qdhyuxJnQ1kjGxO87vWE1g2y9MX8/ycSMY8za5fs35kM3L+Q+3cA4Fp6mdMmnE6pOLUvE/MSmolQ4= X-Gm-Message-State: AOJu0Yz8Wm//7ksCDel7RdNlPw8wUVppFYbf5NMam+34I93gyW0tHrx8 SBCtfQjXUj+xXP3DlmYPawMrDIaEZNttPPNGSbtfEtGZC4RuFv0w+EUnfW/DQYi3e4ARQz/9Jey BmxMH82LGJHzlKrBzZwc/d/XG4MsyGRTzAdMOYSCLfOAS2/1ISIoh7jNDBgbBY41EZzZG1LC6 X-Received: by 2002:a5d:6b87:0:b0:33e:7402:f4d3 with SMTP id n7-20020a5d6b87000000b0033e7402f4d3mr1830866wrx.33.1711619447549; Thu, 28 Mar 2024 02:50:47 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEyrKrZ3N50ui+bWTg50EQbEelvWiqsIQ+BxNpbWjJq6gih2eNzSfvyD9RigouCStOuyiIO3g== X-Received: by 2002:a5d:6b87:0:b0:33e:7402:f4d3 with SMTP id n7-20020a5d6b87000000b0033e7402f4d3mr1830833wrx.33.1711619447065; Thu, 28 Mar 2024 02:50:47 -0700 (PDT) Received: from ?IPV6:2003:cb:c714:3600:8033:4189:6bd4:ea29? (p200300cbc7143600803341896bd4ea29.dip0.t-ipconnect.de. [2003:cb:c714:3600:8033:4189:6bd4:ea29]) by smtp.gmail.com with ESMTPSA id l3-20020a5d5603000000b0033e03d37685sm1281329wrv.55.2024.03.28.02.50.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 28 Mar 2024 02:50:46 -0700 (PDT) Message-ID: <0e1dccfe-c181-444b-b124-05bec5cfd055@redhat.com> Date: Thu, 28 Mar 2024 10:50:45 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH RFC 0/3] mm/gup: consistently call it GUP-fast To: Mike Rapoport , Arnd Bergmann Cc: Vineet Gupta , peterx , linux-kernel@vger.kernel.org, Andrew Morton , Jason Gunthorpe , John Hubbard , linux-arm-kernel@lists.infradead.org, loongarch@lists.linux.dev, linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, linux-mm@kvack.org, linux-perf-users@vger.kernel.org, linux-fsdevel@vger.kernel.org, x86@kernel.org, Ryan Roberts , Alexander Viro , Matt Turner , Alexey Brodkin References: <20240327130538.680256-1-david@redhat.com> <3922460a-4d01-4ecb-b8c5-7c57fd46f3fd@redhat.com> <3360dba8-0fac-4126-b72b-abc036957d6a@kernel.org> <10da3ced-9a79-4ebb-a77d-1aa49cc61952@app.fastmail.com> From: David Hildenbrand Autocrypt: addr=david@redhat.com; keydata= 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 WNyWQQ== Organization: Red Hat In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240328_025052_971710_E106F89F X-CRM114-Status: GOOD ( 24.43 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjguMDMuMjQgMDg6MTUsIE1pa2UgUmFwb3BvcnQgd3JvdGU6Cj4gT24gVGh1LCBNYXIgMjgs IDIwMjQgYXQgMDc6MDk6MTNBTSArMDEwMCwgQXJuZCBCZXJnbWFubiB3cm90ZToKPj4gT24gVGh1 LCBNYXIgMjgsIDIwMjQsIGF0IDA2OjUxLCBWaW5lZXQgR3VwdGEgd3JvdGU6Cj4+PiBPbiAzLzI3 LzI0IDA5OjIyLCBBcm5kIEJlcmdtYW5uIHdyb3RlOgo+Pj4+IE9uIFdlZCwgTWFyIDI3LCAyMDI0 LCBhdCAxNjozOSwgRGF2aWQgSGlsZGVuYnJhbmQgd3JvdGU6Cj4+Pj4+IE9uIDI3LjAzLjI0IDE2 OjIxLCBQZXRlciBYdSB3cm90ZToKPj4+Pj4+IE9uIFdlZCwgTWFyIDI3LCAyMDI0IGF0IDAyOjA1 OjM1UE0gKzAxMDAsIERhdmlkIEhpbGRlbmJyYW5kIHdyb3RlOgo+Pj4+Pj4KPj4+Pj4+IEknbSBu b3Qgc3VyZSB3aGF0IGNvbmZpZyB5b3UgdHJpZWQgdGhlcmU7IGFzIEkgYW0gZG9pbmcgc29tZSBi dWlsZCB0ZXN0cwo+Pj4+Pj4gcmVjZW50bHksIEkgZm91bmQgdHVybmluZyBvZmYgQ09ORklHX1NB TVBMRVMgKyBDT05GSUdfR0NDX1BMVUdJTlMgY291bGQKPj4+Pj4+IGF2b2lkIGEgbG90IG9mIGlz c3VlcywgSSB0aGluayBpdCdzIGR1ZSB0byBsaWJjIG1pc3NpbmcuICBCdXQgbWF5YmUgbm90IHRo ZQo+Pj4+Pj4gY2FzZSB0aGVyZS4KPj4+Pj4gQ0NpbiBBcm5kOyBJIHVzZSBzb21lIG9mIGhpcyBj b21waWxlciBjaGFpbnMsIG90aGVycyBmcm9tIEZlZG9yYSBkaXJlY3RseS4gRm9yCj4+Pj4+IGV4 YW1wbGUgZm9yIGFscGhhIGFuZCBhcmMsIHRoZSBGZWRvcmEgZ2NjIGlzICIxMy4yLjEiLgo+Pj4+ PiBCdXQgdGhlcmUgaXMgb3RoZXIgc3R1ZmYgbGlrZSAoYXJjKToKPj4+Pj4KPj4+Pj4gLi9hcmNo L2FyYy9pbmNsdWRlL2FzbS9tbXUtYXJjdjIuaDogSW4gZnVuY3Rpb24gJ21tdV9zZXR1cF9hc2lk JzoKPj4+Pj4gLi9hcmNoL2FyYy9pbmNsdWRlL2FzbS9tbXUtYXJjdjIuaDo4Mjo5OiBlcnJvcjog aW1wbGljaXQgZGVjbGFyYXRpb24gb2YKPj4+Pj4gZnVuY3Rpb24gJ3dyaXRlX2F1eF9yZWcnIFst V2Vycm8KPj4+Pj4gcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KPj4+Pj4gICAgICA4 MiB8ICAgICAgICAgd3JpdGVfYXV4X3JlZyhBUkNfUkVHX1BJRCwgYXNpZCB8IE1NVV9FTkFCTEUp Owo+Pj4+PiAgICAgICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+Cj4+Pj4gU2VlbXMgdG8gYmUg bWlzc2luZyBhbiAjaW5jbHVkZSBvZiBzb2MvYXJjL2F1eC5oLCBidXQgSSBjYW4ndAo+Pj4+IHRl bGwgd2hlbiB0aGlzIGZpcnN0IGJyb2tlIHdpdGhvdXQgYmlzZWN0aW5nLgo+Pj4KPj4+IFdlaXJk IEkgZG9uJ3Qgc2VlIHRoaXMgb25lIGJ1dCBJIG9ubHkgaGF2ZSBnY2MgMTIgaGFuZHkgQVRNLgo+ Pj4KPj4+ICDCoMKgwqAgZ2NjIHZlcnNpb24gMTIuMi4xIDIwMjMwMzA2IChBUkMgSFMgR05VL0xp bnV4IGdsaWJjIHRvb2xjaGFpbiAtCj4+PiBidWlsZCAxMzYwKQo+Pj4KPj4+IEkgZXZlbiB0cmll ZCBXPTEgKHdoaWNoIGFjY29yZGluZyB0byBzY3JpcHRzL01ha2VmaWxlLmV4dHJhd2Fybikgc2hv dWxkCj4+PiBpbmNsdWRlIC1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb24gYnV0 IGRvbid0IHNlZSB0aGlzIHN0aWxsLgo+Pj4KPj4+IFRvbW9ycm93IEknbGwgdHJ5IGJ1aWxkaW5n IGEgZ2NjIDEzLjIuMSBmb3IgQVJDLgo+Pgo+PiBEYXZpZCByZXBvcnRlZCB0aGVtIHdpdGggdGhl IHRvb2xjaGFpbnMgSSBidWlsdCBhdAo+PiBodHRwczovL21pcnJvcnMuZWRnZS5rZXJuZWwub3Jn L3B1Yi90b29scy9jcm9zc3Rvb2wvCj4+IEknbSBmYWlybHkgc3VyZSB0aGUgcHJvYmxlbSBpcyBz cGVjaWZpYyB0byB0aGUgLmNvbmZpZwo+PiBhbmQgdHJlZSwgbm90IHRoZSB0b29sY2hhaW4gdGhv dWdoLgo+IAo+IFRoaXMgaGFwcGVucyB3aXRoIGRlZmNvbmZpZyBhbmQgYm90aCBnY2MgMTIuMi4w IGFuZCBnY2MgMTMuMi4wIGZyb20geW91cgo+IGNyb3NzdG9vbHMuIEkgYWxzbyBzZWUgdGhlc2Ug b24gdGhlIGN1cnJlbnQgTGludXMnIHRyZWU6Cj4gCj4gYXJjL2tlcm5lbC9wdHJhY2UuYzozNDI6 MTY6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ3N5c2NhbGxfdHJhY2VfZW50 ZXInIFstV21pc3NpbmctcHJvdG90eXBlc10KPiBhcmNoL2FyYy9rZXJuZWwva3Byb2Jlcy5jOjE5 MzoxNTogd2FybmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAnYXJjX2twcm9iZV9oYW5k bGVyJyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdCj4gCj4gVGhpcyBmaXhlZCB0aGUgd2FybmluZyBh Ym91dCB3cml0ZV9hdXhfcmVnIGZvciBtZSwgcHJvYmFibHkgVmluZWV0IHdvdWxkCj4gd2FudCB0 aGlzIGluY2x1ZGUgc29tZXdoZXJlIGVsc2UuLi4KPiAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcmMv aW5jbHVkZS9hc20vbW11LWFyY3YyLmggYi9hcmNoL2FyYy9pbmNsdWRlL2FzbS9tbXUtYXJjdjIu aAo+IGluZGV4IGVkOTAzNmQ0ZWRlMy4uMGZjYTM0MmQ3Yjc5IDEwMDY0NAo+IC0tLSBhL2FyY2gv YXJjL2luY2x1ZGUvYXNtL21tdS1hcmN2Mi5oCj4gKysrIGIvYXJjaC9hcmMvaW5jbHVkZS9hc20v bW11LWFyY3YyLmgKPiBAQCAtNjksNiArNjksOCBAQAo+ICAgCj4gICAjaWZuZGVmIF9fQVNTRU1C TFlfXwo+ICAgCj4gKyNpbmNsdWRlIDxhc20vYXJjcmVncy5oPgo+ICsKPiAgIHN0cnVjdCBtbV9z dHJ1Y3Q7Cj4gICBleHRlcm4gaW50IHBhZTQwX2V4aXN0X2J1dF9ub3RfZW5hYih2b2lkKTsKCgpI ZXJlIGFyZSBhbGwgZXJyK3dhcm4gSSBzZWUgd2l0aCBteSBjb25maWdzIG9uIExpbnVzJyB0cmVl IGZyb20gdG9kYXkgKG5vdCBtbS11bnN0YWJsZSkuCk1vc3Qgb2YgdGhlbSBhcmUgd2FybmluZ3Mg ZHVlIHRvIG1pc3NpbmcgcHJvdG90eXBlcyBvciBtaXNzaW5nICJjbG9uZTMiLgoKUGFyaXNjNjQg c2VlbXMgdG8gYmUgYSBiaXQgbW9yZSBicm9rZW4uIE1heWJlIG5vYm9keSBjYXJlcyBhYm91dCBw YXJpc2M2NCBhbnltb3JlPyBPcgppdCdzIGEgdG9vbGNoYWluIGlzc3VlLCBkb24ndCBrbm93LgoK eHRlbnNhIGlzIGFsc28gYnJva2VuLCBidXQgImludmFsaWQgcmVnaXN0ZXIiIHNtZWxscyBsaWtl IGEgdG9vbGNoYWluIGlzc3VlIHRvIG1lLgoKCk1heWJlIGFsbCBrbm93bi9leHBlY3RlZCwganVz dCBwb3N0aW5nIGl0IGlmIGFueWJvZHkgY2FyZXMuIEkgY2FuIHNoYXJlIG15IGZ1bGwgYnVpbGQg c2NyaXB0Cm9uIHJlcXVlc3QuCgoKCltJTkZPXSBDb21waWxpbmcgYWxwaGEKW0lORk9dIDAgZXJy b3JzCltJTkZPXSAxMDIgd2FybmluZ3MKW1BBU1NdCgokIGNhdCBhbHBoYV9sb2cgIHwgZ3JlcCB3 YXJuCjxzdGRpbj46MTUxOToyOiB3YXJuaW5nOiAjd2FybmluZyBzeXNjYWxsIGNsb25lMyBub3Qg aW1wbGVtZW50ZWQgWy1XY3BwXQphcmNoL2FscGhhL2xpYi9jaGVja3N1bS5jOjQ1Ojk6IHdhcm5p bmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ2NzdW1fdGNwdWRwX21hZ2ljJyBbLVdtaXNz aW5nLXByb3RvdHlwZXNdCmFyY2gvYWxwaGEvbGliL2NoZWNrc3VtLmM6NTQ6ODogd2FybmluZzog bm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAnY3N1bV90Y3B1ZHBfbm9mb2xkJyBbLVdtaXNzaW5n LXByb3RvdHlwZXNdCmFyY2gvYWxwaGEvbGliL2NoZWNrc3VtLmM6MTQ1Ojk6IHdhcm5pbmc6IG5v IHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ2lwX2Zhc3RfY3N1bScgWy1XbWlzc2luZy1wcm90b3R5 cGVzXQphcmNoL2FscGhhL2xpYi9jaGVja3N1bS5jOjE2Mzo4OiB3YXJuaW5nOiBubyBwcmV2aW91 cyBwcm90b3R5cGUgZm9yICdjc3VtX3BhcnRpYWwnIFstV21pc3NpbmctcHJvdG90eXBlc10KYXJj aC9hbHBoYS9saWIvY2hlY2tzdW0uYzoxODA6OTogd2FybmluZzogbm8gcHJldmlvdXMgcHJvdG90 eXBlIGZvciAnaXBfY29tcHV0ZV9jc3VtJyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdCmFyY2gvYWxw aGEva2VybmVsL3RyYXBzLmM6MjExOjE6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBm b3IgJ2RvX2VudEFyaXRoJyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdCmFyY2gvYWxwaGEva2VybmVs L3RyYXBzLmM6MjMzOjE6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ2RvX2Vu dElGJyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdCmFyY2gvYWxwaGEva2VybmVsL3RyYXBzLmM6NDAw OjE6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ2RvX2VudERiZycgWy1XbWlz c2luZy1wcm90b3R5cGVzXQphcmNoL2FscGhhL2tlcm5lbC90cmFwcy5jOjQzNjoxOiB3YXJuaW5n OiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdkb19lbnRVbmEnIFstV21pc3NpbmctcHJvdG90 eXBlc10KYXJjaC9hbHBoYS9rZXJuZWwvdHJhcHMuYzo3MjE6MTogd2FybmluZzogbm8gcHJldmlv dXMgcHJvdG90eXBlIGZvciAnZG9fZW50VW5hVXNlcicgWy1XbWlzc2luZy1wcm90b3R5cGVzXQph cmNoL2FscGhhL21tL2luaXQuYzoyNjE6MTogd2FybmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBl IGZvciAnc3JtX3BhZ2luZ19zdG9wJyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdCmFyY2gvYWxwaGEv bGliL2ZwcmVnLmM6MjA6MTogd2FybmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAnYWxw aGFfcmVhZF9mcF9yZWcnIFstV21pc3NpbmctcHJvdG90eXBlc10KWy4uLi5dCgpbSU5GT10gQ29t cGlsaW5nIGFyYwpbSU5GT10gMCBlcnJvcnMKW0lORk9dIDIgd2FybmluZ3MKW1BBU1NdCgokIGNh dCBhcmNfbG9nICB8IGdyZXAgd2FybgphcmNoL2FyYy9rZXJuZWwvcHRyYWNlLmM6MzQyOjE2OiB3 YXJuaW5nOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdzeXNjYWxsX3RyYWNlX2VudGVyJyBb LVdtaXNzaW5nLXByb3RvdHlwZXNdCmFyY2gvYXJjL2tlcm5lbC9rcHJvYmVzLmM6MTkzOjE1OiB3 YXJuaW5nOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdhcmNfa3Byb2JlX2hhbmRsZXInIFst V21pc3NpbmctcHJvdG90eXBlc10KCgpbSU5GT10gQ29tcGlsaW5nIGhleGFnb24KW0lORk9dIDAg ZXJyb3JzCltJTkZPXSAxIHdhcm5pbmdzCltQQVNTXQoKICAkIGNhdCBoZXhhZ29uX2xvZyAgfCBn cmVwIHdhcm4KPHN0ZGluPjoxNTE5OjI6IHdhcm5pbmc6IHN5c2NhbGwgY2xvbmUzIG5vdCBpbXBs ZW1lbnRlZCBbLVcjd2FybmluZ3NdCiAgMTUxOSB8ICN3YXJuaW5nIHN5c2NhbGwgY2xvbmUzIG5v dCBpbXBsZW1lbnRlZAoxIHdhcm5pbmcgZ2VuZXJhdGVkLgoKCltJTkZPXSBDb21waWxpbmcgbWlw czY0CltJTkZPXSAwIGVycm9ycwpbSU5GT10gMTUgd2FybmluZ3MKW1BBU1NdCgogICQgY2F0IG1p cHM2NF9sb2cgIHwgZ3JlcCB3YXJuCmFyY2gvbWlwcy9zaWJ5dGUvYmNtMTQ4MC9zZXR1cC5jOjEw NDoxMzogd2FybmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAnYmNtMTQ4MF9zZXR1cCcg Wy1XbWlzc2luZy1wcm90b3R5cGVzXQphcmNoL21pcHMvc2lieXRlL2JjbTE0ODAvaXJxLmM6MjAw OjEzOiB3YXJuaW5nOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdpbml0X2JjbTE0ODBfaXJx cycgWy1XbWlzc2luZy1wcm90b3R5cGVzXQphcmNoL21pcHMvc2lieXRlL2JjbTE0ODAvdGltZS5j OjEwOjEzOiB3YXJuaW5nOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdwbGF0X3RpbWVfaW5p dCcgWy1XbWlzc2luZy1wcm90b3R5cGVzXQphcmNoL21pcHMvc2lieXRlL2JjbTE0ODAvc21wLmM6 NDk6Njogd2FybmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAnYmNtMTQ4MF9zbXBfaW5p dCcgWy1XbWlzc2luZy1wcm90b3R5cGVzXQphcmNoL21pcHMvc2lieXRlL2JjbTE0ODAvc21wLmM6 MTU4OjY6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ2JjbTE0ODBfbWFpbGJv eF9pbnRlcnJ1cHQnIFstV21pc3NpbmctcHJvdG90eXBlc10KYXJjaC9taXBzL3NpYnl0ZS9zd2Fy bS9zZXR1cC5jOjU5OjU6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ3N3YXJt X2JlX2hhbmRsZXInIFstV21pc3NpbmctcHJvdG90eXBlc10KYXJjaC9taXBzL3NpYnl0ZS9zd2Fy bS9ydGNfeGljb3IxMjQxLmM6MTA4OjU6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBm b3IgJ3hpY29yX3NldF90aW1lJyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdCmFyY2gvbWlwcy9zaWJ5 dGUvc3dhcm0vcnRjX3hpY29yMTI0MS5jOjE2NzoxMDogd2FybmluZzogbm8gcHJldmlvdXMgcHJv dG90eXBlIGZvciAneGljb3JfZ2V0X3RpbWUnIFstV21pc3NpbmctcHJvdG90eXBlc10KYXJjaC9t aXBzL3NpYnl0ZS9zd2FybS9ydGNfeGljb3IxMjQxLmM6MjAzOjU6IHdhcm5pbmc6IG5vIHByZXZp b3VzIHByb3RvdHlwZSBmb3IgJ3hpY29yX3Byb2JlJyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdCmFy Y2gvbWlwcy9zaWJ5dGUvc3dhcm0vcnRjX200MXQ4MS5jOjEzOTo1OiB3YXJuaW5nOiBubyBwcmV2 aW91cyBwcm90b3R5cGUgZm9yICdtNDF0ODFfc2V0X3RpbWUnIFstV21pc3NpbmctcHJvdG90eXBl c10KYXJjaC9taXBzL3NpYnl0ZS9zd2FybS9ydGNfbTQxdDgxLmM6MTg2OjEwOiB3YXJuaW5nOiBu byBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdtNDF0ODFfZ2V0X3RpbWUnIFstV21pc3NpbmctcHJv dG90eXBlc10KYXJjaC9taXBzL3NpYnl0ZS9zd2FybS9ydGNfbTQxdDgxLmM6MjE5OjU6IHdhcm5p bmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ200MXQ4MV9wcm9iZScgWy1XbWlzc2luZy1w cm90b3R5cGVzXQphcmNoL21pcHMvbW0vY2Vyci1zYjEuYzoxNjU6MTc6IHdhcm5pbmc6IG5vIHBy ZXZpb3VzIHByb3RvdHlwZSBmb3IgJ3NiMV9jYWNoZV9lcnJvcicgWy1XbWlzc2luZy1wcm90b3R5 cGVzXQphcmNoL21pcHMva2VybmVsL2NldnQtYmNtMTQ4MC5jOjk2OjY6IHdhcm5pbmc6IG5vIHBy ZXZpb3VzIHByb3RvdHlwZSBmb3IgJ3NiMTQ4MF9jbG9ja2V2ZW50X2luaXQnIFstV21pc3Npbmct cHJvdG90eXBlc10KYXJjaC9taXBzL2tlcm5lbC9jc3JjLWJjbTE0ODAuYzozNzoxMzogd2Fybmlu Zzogbm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAnc2IxNDgwX2Nsb2Nrc291cmNlX2luaXQnIFst V21pc3NpbmctcHJvdG90eXBlc10KCgpbSU5GT10gQ29tcGlsaW5nIG1pcHMzMi14cGEKW0lORk9d IDAgZXJyb3JzCltJTkZPXSAxIHdhcm5pbmdzCltQQVNTXQoKJCBjYXQgbWlwczMyLXhwYV9sb2cg fCBncmVwIHdhcm4KZHJpdmVycy91aW8vdWlvLmM6Nzk1OjE2OiB3YXJuaW5nOiBjYXN0IHRvIHBv aW50ZXIgZnJvbSBpbnRlZ2VyIG9mIGRpZmZlcmVudCBzaXplIFstV2ludC10by1wb2ludGVyLWNh c3RdCgoKW0lORk9dIENvbXBpbGluZyBtaXBzMzItYWxjaGVteQpbSU5GT10gMCBlcnJvcnMKW0lO Rk9dIDEgd2FybmluZ3MKW1BBU1NdCgokIGNhdCBtaXBzMzItYWxjaGVteV9sb2cgIHwgZ3JlcCB3 YXJuCmRyaXZlcnMvbmV0L2V0aGVybmV0L2FtZC9hdTEwMDBfZXRoLmM6NTc0OjY6IHdhcm5pbmc6 IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ2F1MTAwMF9SZWxlYXNlREInIFstV21pc3Npbmct cHJvdG90eXBlc10KCgpbSU5GT10gQ29tcGlsaW5nIG5pb3MyCltJTkZPXSAwIGVycm9ycwpbSU5G T10gMzUgd2FybmluZ3MKW1BBU1NdCgokIGNhdCBuaW9zMl9sb2cgfCBncmVwIHdhcm4KPHN0ZGlu PjoxNTE5OjI6IHdhcm5pbmc6ICN3YXJuaW5nIHN5c2NhbGwgY2xvbmUzIG5vdCBpbXBsZW1lbnRl ZCBbLVdjcHBdCmFyY2gvbmlvczIvbGliL21lbWNweS5jOjE2MDo3OiB3YXJuaW5nOiBubyBwcmV2 aW91cyBwcm90b3R5cGUgZm9yICdtZW1jcHknIFstV21pc3NpbmctcHJvdG90eXBlc10KYXJjaC9u aW9zMi9saWIvbWVtY3B5LmM6MTk0Ojc6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBm b3IgJ21lbWNweWInIFstV21pc3NpbmctcHJvdG90eXBlc10KYXJjaC9uaW9zMi9tbS9kbWEtbWFw cGluZy5jOjIxOjY6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ2FyY2hfc3lu Y19kbWFfZm9yX2RldmljZScgWy1XbWlzc2luZy1wcm90b3R5cGVzXQphcmNoL25pb3MyL21tL2Rt YS1tYXBwaW5nLmM6NDU6Njogd2FybmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAnYXJj aF9zeW5jX2RtYV9mb3JfY3B1JyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdCmFyY2gvbmlvczIvbW0v ZG1hLW1hcHBpbmcuYzo2Mzo2OiB3YXJuaW5nOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdh cmNoX2RtYV9wcmVwX2NvaGVyZW50JyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdCmFyY2gvbmlvczIv bW0vZG1hLW1hcHBpbmcuYzo3MDo3OiB3YXJuaW5nOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9y ICdhcmNoX2RtYV9zZXRfdW5jYWNoZWQnIFstV21pc3NpbmctcHJvdG90eXBlc10KYXJjaC9uaW9z Mi9rZXJuZWwvaXJxLmM6MTk6MTc6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3Ig J2RvX0lSUScgWy1XbWlzc2luZy1wcm90b3R5cGVzXQphcmNoL25pb3MyL2tlcm5lbC9wcm9jZXNz LmM6MzQ6Njogd2FybmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAnYXJjaF9jcHVfaWRs ZScgWy1XbWlzc2luZy1wcm90b3R5cGVzXQphcmNoL25pb3MyL2tlcm5lbC9wcm9jZXNzLmM6NDM6 Njogd2FybmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAnbWFjaGluZV9yZXN0YXJ0JyBb LVdtaXNzaW5nLXByb3RvdHlwZXNdCmFyY2gvbmlvczIva2VybmVsL3Byb2Nlc3MuYzo1NDo2OiB3 YXJuaW5nOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdtYWNoaW5lX2hhbHQnIFstV21pc3Np bmctcHJvdG90eXBlc10KYXJjaC9uaW9zMi9rZXJuZWwvcHJvY2Vzcy5jOjY2OjY6IHdhcm5pbmc6 IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ21hY2hpbmVfcG93ZXJfb2ZmJyBbLVdtaXNzaW5n LXByb3RvdHlwZXNdCmFyY2gvbmlvczIva2VybmVsL3Byb2Nlc3MuYzoxNTI6Njogd2FybmluZzog bm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAnZHVtcCcgWy1XbWlzc2luZy1wcm90b3R5cGVzXQph cmNoL25pb3MyL2tlcm5lbC9wcm9jZXNzLmM6MjUzOjE2OiB3YXJuaW5nOiBubyBwcmV2aW91cyBw cm90b3R5cGUgZm9yICduaW9zMl9jbG9uZScgWy1XbWlzc2luZy1wcm90b3R5cGVzXQpbLi4uXQoK CltJTkZPXSBDb21waWxpbmcgcGFyaXNjNjQKW0lORk9dIDc5IGVycm9ycwpbSU5GT10gNTQgd2Fy bmluZ3MKW0ZBSUxdCgokIGNhdCBwYXJpc2M2NF9sb2cgIHwgZ3JlcCBlcnJvcgppcGMvc2VtLmM6 MTI4NDoxODogZXJyb3I6ICdzdHJ1Y3Qgc2VtaWQ2NF9kcycgaGFzIG5vIG1lbWJlciBuYW1lZCAn c2VtX290aW1lX2hpZ2gnOyBkaWQgeW91IG1lYW4gJ3NlbV9vdGltZSc/CmlwYy9zZW0uYzoxMjg1 OjE4OiBlcnJvcjogJ3N0cnVjdCBzZW1pZDY0X2RzJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzZW1f Y3RpbWVfaGlnaCc7IGRpZCB5b3UgbWVhbiAnc2VtX2N0aW1lJz8KLi8uL2luY2x1ZGUvbGludXgv Y29tcGlsZXJfdHlwZXMuaDo0NDk6NDU6IGVycm9yOiBjYWxsIHRvICdfX2NvbXBpbGV0aW1lX2Fz c2VydF8yNzYnIGRlY2xhcmVkIHdpdGggYXR0cmlidXRlIGVycm9yOiBCVUlMRF9CVUdfT04gZmFp bGVkOiBzaXplb2Yoc3RydWN0IHNlbWlkNjRfZHMpICE9IDgwCmlwYy9tc2cuYzo1Njc6MTI6IGVy cm9yOiAnc3RydWN0IG1zcWlkNjRfZHMnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ21zZ19zdGltZV9o aWdoJzsgZGlkIHlvdSBtZWFuICdtc2dfc3RpbWUnPwppcGMvbXNnLmM6NTY4OjEyOiBlcnJvcjog J3N0cnVjdCBtc3FpZDY0X2RzJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdtc2dfcnRpbWVfaGlnaCc7 IGRpZCB5b3UgbWVhbiAnbXNnX3J0aW1lJz8KaXBjL21zZy5jOjU2OToxMjogZXJyb3I6ICdzdHJ1 Y3QgbXNxaWQ2NF9kcycgaGFzIG5vIG1lbWJlciBuYW1lZCAnbXNnX2N0aW1lX2hpZ2gnOyBkaWQg eW91IG1lYW4gJ21zZ19jdGltZSc/CmlwYy9zaG0uYzoxMTM3OjE1OiBlcnJvcjogJ3N0cnVjdCBz aG1pZDY0X2RzJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdzaG1fYXRpbWVfaGlnaCc7IGRpZCB5b3Ug bWVhbiAnc2htX2F0aW1lJz8KaXBjL3NobS5jOjExMzg6MTU6IGVycm9yOiAnc3RydWN0IHNobWlk NjRfZHMnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ3NobV9kdGltZV9oaWdoJzsgZGlkIHlvdSBtZWFu ICdzaG1fZHRpbWUnPwppcGMvc2htLmM6MTEzOToxNTogZXJyb3I6ICdzdHJ1Y3Qgc2htaWQ2NF9k cycgaGFzIG5vIG1lbWJlciBuYW1lZCAnc2htX2N0aW1lX2hpZ2gnOyBkaWQgeW91IG1lYW4gJ3No bV9jdGltZSc/Ci4vLi9pbmNsdWRlL2xpbnV4L2NvbXBpbGVyX3R5cGVzLmg6NDQ5OjQ1OiBlcnJv cjogY2FsbCB0byAnX19jb21waWxldGltZV9hc3NlcnRfMzkwJyBkZWNsYXJlZCB3aXRoIGF0dHJp YnV0ZSBlcnJvcjogQlVJTERfQlVHX09OIGZhaWxlZDogb2Zmc2V0b2Yoc3RydWN0IGRzdF9lbnRy eSwgX19yY3VyZWYpICYgNjMKLi8uL2luY2x1ZGUvbGludXgvY29tcGlsZXJfdHlwZXMuaDo0NDk6 NDU6IGVycm9yOiBjYWxsIHRvICdfX2NvbXBpbGV0aW1lX2Fzc2VydF8zNzQnIGRlY2xhcmVkIHdp dGggYXR0cmlidXRlIGVycm9yOiBCVUlMRF9CVUdfT04gZmFpbGVkOiBvZmZzZXRvZihzdHJ1Y3Qg ZHN0X2VudHJ5LCBfX3JjdXJlZikgJiA2MwouLy4vaW5jbHVkZS9saW51eC9jb21waWxlcl90eXBl cy5oOjQ0OTo0NTogZXJyb3I6IGNhbGwgdG8gJ19fY29tcGlsZXRpbWVfYXNzZXJ0XzM4MicgZGVj bGFyZWQgd2l0aCBhdHRyaWJ1dGUgZXJyb3I6IEJVSUxEX0JVR19PTiBmYWlsZWQ6IG9mZnNldG9m KHN0cnVjdCBkc3RfZW50cnksIF9fcmN1cmVmKSAmIDYzClsuLi5dCgoKW0lORk9dIENvbXBpbGlu ZyBzaApbSU5GT10gMCBlcnJvcnMKW0lORk9dIDM5IHdhcm5pbmdzCltQQVNTXQoKICAkIGNhdCBz aF9sb2cgfCBncmVwIHdhcm4KPHN0ZGluPjoxNTE5OjI6IHdhcm5pbmc6ICN3YXJuaW5nIHN5c2Nh bGwgY2xvbmUzIG5vdCBpbXBsZW1lbnRlZCBbLVdjcHBdCmFyY2gvc2gvbW0vY2FjaGUtc2h4My5j OjE4OjEzOiB3YXJuaW5nOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdzaHgzX2NhY2hlX2lu aXQnIFstV21pc3NpbmctcHJvdG90eXBlc10KYXJjaC9zaC9tbS9mbHVzaC1zaDQuYzoxMDY6MTM6 IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ3NoNF9fZmx1c2hfcmVnaW9uX2lu aXQnIFstV21pc3NpbmctcHJvdG90eXBlc10KYXJjaC9zaC9tbS9jYWNoZS1zaDQuYzozODQ6MTM6 IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ3NoNF9jYWNoZV9pbml0JyBbLVdt aXNzaW5nLXByb3RvdHlwZXNdCmFyY2gvc2gva2VybmVsL3JldHVybl9hZGRyZXNzLmM6NDk6Nzog d2FybmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAncmV0dXJuX2FkZHJlc3MnIFstV21p c3NpbmctcHJvdG90eXBlc10KYXJjaC9zaC9tbS9wZ3RhYmxlLmM6MTA6Njogd2FybmluZzogbm8g cHJldmlvdXMgcHJvdG90eXBlIGZvciAncGdkX2N0b3InIFstV21pc3NpbmctcHJvdG90eXBlc10K YXJjaC9zaC9tbS9wZ3RhYmxlLmM6MzI6ODogd2FybmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBl IGZvciAncGdkX2FsbG9jJyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdCmFyY2gvc2gvbW0vcGd0YWJs ZS5jOjM3OjY6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ3BnZF9mcmVlJyBb LVdtaXNzaW5nLXByb3RvdHlwZXNdCmFyY2gvc2gvbW0vcGd0YWJsZS5jOjQzOjY6IHdhcm5pbmc6 IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ3B1ZF9wb3B1bGF0ZScgWy1XbWlzc2luZy1wcm90 b3R5cGVzXQphcmNoL3NoL21tL3BndGFibGUuYzo0ODo4OiB3YXJuaW5nOiBubyBwcmV2aW91cyBw cm90b3R5cGUgZm9yICdwbWRfYWxsb2Nfb25lJyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdCmFyY2gv c2gvbW0vcGd0YWJsZS5jOjUzOjY6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3Ig J3BtZF9mcmVlJyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdCmFyY2gvc2gvbW0vdGxiZXhfMzIuYzoy MjoxOiB3YXJuaW5nOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdoYW5kbGVfdGxibWlzcycg Wy1XbWlzc2luZy1wcm90b3R5cGVzXQphcmNoL3NoL2tlcm5lbC9zeXNfc2guYzo1ODoxNjogd2Fy bmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAnc3lzX2NhY2hlZmx1c2gnIFstV21pc3Np bmctcHJvdG90eXBlc10KWy4uLl0KCgpbSU5GT10gQ29tcGlsaW5nIHNwYXJjMzIKW0lORk9dIDAg ZXJyb3JzCltJTkZPXSAxIHdhcm5pbmdzCltQQVNTXQoKJCBjYXQgc3BhcmMzMl9sb2cgfCBncmVw IHdhcm4KPHN0ZGluPjoxNTE5OjI6IHdhcm5pbmc6ICN3YXJuaW5nIHN5c2NhbGwgY2xvbmUzIG5v dCBpbXBsZW1lbnRlZCBbLVdjcHBdCgoKW0lORk9dIENvbXBpbGluZyBzcGFyYzY0CltJTkZPXSAw IGVycm9ycwpbSU5GT10gMjYgd2FybmluZ3MKW1BBU1NdCgokIGNhdCBzcGFyYzY0X2xvZyB8IGdy ZXAgd2Fybgo8c3RkaW4+OjE1MTk6Mjogd2FybmluZzogI3dhcm5pbmcgc3lzY2FsbCBjbG9uZTMg bm90IGltcGxlbWVudGVkIFstV2NwcF0KYXJjaC9zcGFyYy92ZHNvL3ZtYS5jOjI0NjoxMjogd2Fy bmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAnaW5pdF92ZHNvX2ltYWdlJyBbLVdtaXNz aW5nLXByb3RvdHlwZXNdCmFyY2gvc3BhcmMvdmRzby92Y2xvY2tfZ2V0dGltZS5jOjI1NDoxOiB3 YXJuaW5nOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdfX3Zkc29fY2xvY2tfZ2V0dGltZScg Wy1XbWlzc2luZy1wcm90b3R5cGVzXQphcmNoL3NwYXJjL3Zkc28vdmNsb2NrX2dldHRpbWUuYzoy ODI6MTogd2FybmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAnX192ZHNvX2Nsb2NrX2dl dHRpbWVfc3RpY2snIFstV21pc3NpbmctcHJvdG90eXBlc10KYXJjaC9zcGFyYy92ZHNvL3ZjbG9j a19nZXR0aW1lLmM6MzA3OjE6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ19f dmRzb19nZXR0aW1lb2ZkYXknIFstV21pc3NpbmctcHJvdG90eXBlc10KYXJjaC9zcGFyYy92ZHNv L3ZjbG9ja19nZXR0aW1lLmM6MzQzOjE6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBm b3IgJ19fdmRzb19nZXR0aW1lb2ZkYXlfc3RpY2snIFstV21pc3NpbmctcHJvdG90eXBlc10KYXJj aC9zcGFyYy9rZXJuZWwvdHJhcHNfNjQuYzoyNTM6Njogd2FybmluZzogbm8gcHJldmlvdXMgcHJv dG90eXBlIGZvciAnaXNfbm9fZmF1bHRfZXhjZXB0aW9uJyBbLVdtaXNzaW5nLXByb3RvdHlwZXNd CmFyY2gvc3BhcmMva2VybmVsL3RyYXBzXzY0LmM6MjAzNTo2OiB3YXJuaW5nOiBubyBwcmV2aW91 cyBwcm90b3R5cGUgZm9yICdkb19tY2RfZXJyJyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdClsuLi5d CgoKW0lORk9dIENvbXBpbGluZyB1bWw2NApbSU5GT10gMCBlcnJvcnMKW0lORk9dIDUxIHdhcm5p bmdzCltQQVNTXQoKICAkIGNhdCB1bWw2NF9sb2cgfCBncmVwIHdhcm4KYXJjaC94ODYvdW0vdXNl ci1vZmZzZXRzLmM6MTc6Njogd2FybmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAnZm9v JyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdCi4vYXJjaC94ODYvdW0vc2hhcmVkL3N5c2RlcC9rZXJu ZWwtb2Zmc2V0cy5oOjk6Njogd2FybmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAnZm9v JyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdCmFyY2gveDg2L3VtL2J1Z3NfNjQuYzo5OjY6IHdhcm5p bmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ2FyY2hfY2hlY2tfYnVncycgWy1XbWlzc2lu Zy1wcm90b3R5cGVzXQphcmNoL3g4Ni91bS9idWdzXzY0LmM6MTM6Njogd2FybmluZzogbm8gcHJl dmlvdXMgcHJvdG90eXBlIGZvciAnYXJjaF9leGFtaW5lX3NpZ25hbCcgWy1XbWlzc2luZy1wcm90 b3R5cGVzXQphcmNoL3g4Ni91bS9mYXVsdC5jOjE4OjU6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHBy b3RvdHlwZSBmb3IgJ2FyY2hfZml4dXAnIFstV21pc3NpbmctcHJvdG90eXBlc10KYXJjaC94ODYv dW0vcHRyYWNlXzY0LmM6MTExOjU6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3Ig J3Bva2VfdXNlcicgWy1XbWlzc2luZy1wcm90b3R5cGVzXQphcmNoL3g4Ni91bS9wdHJhY2VfNjQu YzoxNzE6NTogd2FybmluZzogbm8gcHJldmlvdXMgcHJvdG90eXBlIGZvciAncGVla191c2VyJyBb LVdtaXNzaW5nLXByb3RvdHlwZXNdCmFyY2gvdW0vb3MtTGludXgvbWFpbi5jOjE4Nzo3OiB3YXJu aW5nOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdfX3dyYXBfbWFsbG9jJyBbLVdtaXNzaW5n LXByb3RvdHlwZXNdCmFyY2gvdW0vb3MtTGludXgvbWFpbi5jOjIwODo3OiB3YXJuaW5nOiBubyBw cmV2aW91cyBwcm90b3R5cGUgZm9yICdfX3dyYXBfY2FsbG9jJyBbLVdtaXNzaW5nLXByb3RvdHlw ZXNdCmFyY2gvdW0vb3MtTGludXgvbWFpbi5jOjIyMjo2OiB3YXJuaW5nOiBubyBwcmV2aW91cyBw cm90b3R5cGUgZm9yICdfX3dyYXBfZnJlZScgWy1XbWlzc2luZy1wcm90b3R5cGVzXQphcmNoL3Vt L29zLUxpbnV4L21lbS5jOjI4OjY6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3Ig J2thc2FuX21hcF9tZW1vcnknIFstV21pc3NpbmctcHJvdG90eXBlc10KYXJjaC91bS9vcy1MaW51 eC9tZW0uYzoyMTI6MTM6IHdhcm5pbmc6IG5vIHByZXZpb3VzIHByb3RvdHlwZSBmb3IgJ2NoZWNr X3RtcGV4ZWMnIFstV21pc3NpbmctcHJvdG90eXBlc10KYXJjaC91bS9vcy1MaW51eC9zaWduYWwu Yzo3NTo2OiB3YXJuaW5nOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICdzaWdfaGFuZGxlcicg Wy1XbWlzc2luZy1wcm90b3R5cGVzXQphcmNoL3VtL29zLUxpbnV4L3NpZ25hbC5jOjExMTo2OiB3 YXJuaW5nOiBubyBwcmV2aW91cyBwcm90b3R5cGUgZm9yICd0aW1lcl9hbGFybV9oYW5kbGVyJyBb LVdtaXNzaW5nLXByb3RvdHlwZXNdClsuLi5dCgoKW0lORk9dIENvbXBpbGluZyB4dGVuc2EKW0lO Rk9dIDEgZXJyb3JzCltJTkZPXSAxIHdhcm5pbmdzCltGQUlMXQoKICAkIGNhdCB4dGVuc2FfbG9n IHwgZ3JlcCBFcnJvcgouL2FyY2gveHRlbnNhL2luY2x1ZGUvYXNtL2luaXRpYWxpemVfbW11Lmg6 NTc6IEVycm9yOiBpbnZhbGlkIHJlZ2lzdGVyICdhdG9tY3RsJyBmb3IgJ3dzcicgaW5zdHJ1Y3Rp b24KbWFrZVs0XTogKioqIFtzY3JpcHRzL01ha2VmaWxlLmJ1aWxkOjM2MjogYXJjaC94dGVuc2Ev a2VybmVsL2hlYWQub10gRXJyb3IgMQptYWtlWzNdOiAqKiogW3NjcmlwdHMvTWFrZWZpbGUuYnVp bGQ6NDg1OiBhcmNoL3h0ZW5zYS9rZXJuZWxdIEVycm9yIDIKbWFrZVsyXTogKioqIFtzY3JpcHRz L01ha2VmaWxlLmJ1aWxkOjQ4NTogYXJjaC94dGVuc2FdIEVycm9yIDIKbWFrZVsxXTogKioqIFsv aG9tZS9kaGlsZGVuYi9naXQvbGludXgtY3Jvc3MvTWFrZWZpbGU6MTkxOTogLl0gRXJyb3IgMgpt YWtlOiAqKiogW01ha2VmaWxlOjI0MDogX19zdWItbWFrZV0gRXJyb3IgMgoKCi0tIApDaGVlcnMs CgpEYXZpZCAvIGRoaWxkZW5iCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5l bEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=