Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp5094156imm; Tue, 19 Jun 2018 05:04:28 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLigd/g9iOIqdZezPKayJK7PXEUeZgki26QW6wXuZnXn1wkiMrarQjzlnBXNXv+kKveuypS X-Received: by 2002:a65:6303:: with SMTP id g3-v6mr14945432pgv.424.1529409868658; Tue, 19 Jun 2018 05:04:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529409868; cv=none; d=google.com; s=arc-20160816; b=t6DyohzFbcwmcrqqru+0IlX7KtlP/7UGHwXZmd4dP3U2GESaci9aExhjaI+PY7OfAs BWW2zn5buzB6QnKjemb7U872xmpObQ5wWRjg/Q/cmIEa50pSyQehZcMyTe7i594Y6Djz /uAbM4oOyuUGNR6aTF8qrag3mrwLFvRU6E1favdYF7onE58ghHGKzPf1PjhYl6n0u5Dr T0BHMjWwtwKnqNmvhtfdU0bAq0Oc6z5OKjxUAsKV6WDVcWLg2E8bf18DnmD50K0if0N2 ruSP5IuKLhkruqobrcVVz51rmQLDWse5SfeYXbyoc2FJvKdNLo59NLLYQimarcZxvm8z mHeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:mime-version:user-agent:date :message-id:from:cc:references:to:subject:arc-authentication-results; bh=RF3fK3pImZbWHcYZs+StCw8zB9bDd8sxzZMq/nHvmUM=; b=ncuUfIDZ1Lr667tz7J3GXwEzSpqc4yViS4fpQ8fuyJptszi7fJJRq4AQ+virU277mK VDEwVZ/zcsexGIz4p7Rk7Vc0VB3cAnIoGbEVHiTWo2CT7u3Xt1movWVhjhD2/qO7IiZw DDlFVoj8ycsiret2VNA1fFYrPhOhEx6Y9zujDpw7aZXKTwceCsUWzSIXJt4t1uoXGYT3 I5b3GMrdRtDV7gNh46Dm55GMfr+GuaPlV6TCTZpwabYbYuWhB/DHWqWIFBYWNSNNESEV xRhKTltnEi36KMC6oSNO3RJhSYqBP9/bZ0IYN4gOoTxnie0AcPluBEPcAkjSpvKRFRvu ms4g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f1-v6si13473270pgt.400.2018.06.19.05.04.13; Tue, 19 Jun 2018 05:04:28 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S937750AbeFSMDd (ORCPT + 99 others); Tue, 19 Jun 2018 08:03:33 -0400 Received: from szxga07-in.huawei.com ([45.249.212.35]:44250 "EHLO huawei.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S937592AbeFSMDa (ORCPT ); Tue, 19 Jun 2018 08:03:30 -0400 Received: from DGGEMS414-HUB.china.huawei.com (unknown [172.30.72.60]) by Forcepoint Email with ESMTP id 49F40AA5F5482; Tue, 19 Jun 2018 20:03:25 +0800 (CST) Received: from [127.0.0.1] (10.177.19.210) by DGGEMS414-HUB.china.huawei.com (10.3.19.214) with Microsoft SMTP Server id 14.3.382.0; Tue, 19 Jun 2018 20:03:20 +0800 Subject: Re: [PATCH 1/2] arm64: avoid alloc memory on offline node To: Punit Agrawal , Hanjun Guo References: <1527768879-88161-2-git-send-email-xiexiuqi@huawei.com> <20180606154516.GL6631@arm.com> <20180607105514.GA13139@dhcp22.suse.cz> <5ed798a0-6c9c-086e-e5e8-906f593ca33e@huawei.com> <20180607122152.GP32433@dhcp22.suse.cz> <20180611085237.GI13364@dhcp22.suse.cz> <16c4db2f-bc70-d0f2-fb38-341d9117ff66@huawei.com> <20180611134303.GC75679@bhelgaas-glaptop.roam.corp.google.com> <20180611145330.GO13364@dhcp22.suse.cz> <87lgbk59gs.fsf@e105922-lin.cambridge.arm.com> <87bmce60y3.fsf@e105922-lin.cambridge.arm.com> CC: Bjorn Helgaas , , , Catalin Marinas , "Rafael J. Wysocki" , Will Deacon , Linux Kernel Mailing List , Jarkko Sakkinen , , , Greg Kroah-Hartman , Bjorn Helgaas , Andrew Morton , zhongjiang , linux-arm , Michal Hocko From: Xie XiuQi Message-ID: <8b715082-14d4-f10b-d2d6-b23be7e4bf7e@huawei.com> Date: Tue, 19 Jun 2018 20:03:07 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <87bmce60y3.fsf@e105922-lin.cambridge.arm.com> Content-Type: multipart/mixed; boundary="------------447B7BBA4D7452028F429870" X-Originating-IP: [10.177.19.210] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --------------447B7BBA4D7452028F429870 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Hi Punit, On 2018/6/14 1:39, Punit Agrawal wrote: > Punit Agrawal writes: > > > [...] > >> >> CONFIG_HAVE_MEMORYLESS node is not enabled on arm64 which means we end >> up returning the original node in the fallback path. >> >> Xie, does the below patch help? I can submit a proper patch if this >> fixes the issue for you. >> >> -- >8 -- >> Subject: [PATCH] arm64/numa: Enable memoryless numa nodes >> >> Signed-off-by: Punit Agrawal >> --- >> arch/arm64/Kconfig | 4 ++++ >> arch/arm64/mm/numa.c | 2 ++ >> 2 files changed, 6 insertions(+) >> >> diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig >> index eb2cf4938f6d..5317e9aa93ab 100644 >> --- a/arch/arm64/Kconfig >> +++ b/arch/arm64/Kconfig >> @@ -756,6 +756,10 @@ config USE_PERCPU_NUMA_NODE_ID >> def_bool y >> depends on NUMA >> >> +config HAVE_MEMORYLESS_NODES >> + def_bool y >> + depends on NUMA >> + >> config HAVE_SETUP_PER_CPU_AREA >> def_bool y >> depends on NUMA >> diff --git a/arch/arm64/mm/numa.c b/arch/arm64/mm/numa.c >> index dad128ba98bf..c699dcfe93de 100644 >> --- a/arch/arm64/mm/numa.c >> +++ b/arch/arm64/mm/numa.c >> @@ -73,6 +73,8 @@ EXPORT_SYMBOL(cpumask_of_node); >> static void map_cpu_to_node(unsigned int cpu, int nid) >> { >> set_cpu_numa_node(cpu, nid); >> + set_numa_mem(local_memory_node(nid)); > > Argh, this should be > > set_cpu_numa_mem(cpu, local_memory_node(nid)); > > There is not guarantee that map_cpu_to_node() will be called on the > local cpu. > > Hanjun, Xie - can you try with the update please? I've tested this patch, but it does not help. The boot message is attached. I tested on a arm board with 128 cores 4 numa nodes, but I set CONFIG_NR_CPUS=72. Then node 3 is not be created, because node 3 has no memory, and no cpu. But some pci device may related to node 3, which be set in ACPI table. 165 /* Interface called from ACPI code to setup PCI host controller */ 166 struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root) 167 { 168 int node = acpi_get_node(root->device->handle); 169 struct acpi_pci_generic_root_info *ri; 170 struct pci_bus *bus, *child; 171 struct acpi_pci_root_ops *root_ops; 172 // this node may be not created. 177 ri = kzalloc_node(sizeof(*ri), GFP_KERNEL, node); 178 if (!ri) 179 return NULL; 180 181 root_ops = kzalloc_node(sizeof(*root_ops), GFP_KERNEL, node); 182 if (!root_ops) { 183 kfree(ri); 184 return NULL; 185 } 186 187 ri->cfg = pci_acpi_setup_ecam_mapping(root); 188 if (!ri->cfg) { 189 kfree(ri); 190 kfree(root_ops); 191 return NULL; 192 } > > Thanks, > Punit > >> + >> if (nid >= 0) >> cpumask_set_cpu(cpu, node_to_cpumask_map[nid]); >> } > > . > -- Thanks, Xie XiuQi --------------447B7BBA4D7452028F429870 Content-Type: text/plain; charset="UTF-8"; name="boot message.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="boot message.txt" WyAgICAwLjAwMDAwMF0gQm9vdGluZyBMaW51eCBvbiBwaHlzaWNhbCBDUFUgMHgwMDAwMDMw MDAwIFsweDQ4MGZkMDEwXQ0KWyAgICAwLjAwMDAwMF0gTGludXggdmVyc2lvbiA0LjE2LjAt cmMxLTAwNDkxLWcyMDRhNmNjLWRpcnR5ICh4aWV4aXVxaUBsb2NhbGhvc3QubG9jYWxkb21h aW4pIChnY2MgdmVyc2lvbiA2LjMuMSAyMDE3MDQwNCAoTGluYXJvIEdDQyA2LjMtMjAxNy4w NSkpICMxNyBTTVAgUFJFRU1QVCBUdWUgSnVuIDE5IDE2OjMzOjMyIENTVCAyMDE4DQpbICAg IDAuMDAwMDAwXSBlYXJseWNvbjogcGwxMSBhdCBNTUlPMzIgMHgwMDAwMDAwMDk0MDgwMDAw IChvcHRpb25zICcnKQ0KWyAgICAwLjAwMDAwMF0gYm9vdGNvbnNvbGUgW3BsMTFdIGVuYWJs ZWQNClsgICAgMC4wMDAwMDBdIGVmaTogR2V0dGluZyBFRkkgcGFyYW1ldGVycyBmcm9tIEZE VDoNClsgICAgMC4wMDAwMDBdIGVmaTogRUZJIHYyLjYwIGJ5IEVESyBJSQ0KWyAgICAwLjAw MDAwMF0gZWZpOiAgU01CSU9TIDMuMD0weDNlYjYwMDAwICBBQ1BJIDIuMD0weDM5NzEwMDAw ICBNRU1BVFRSPTB4M2IxMDY0MTggDQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBFYXJseSB0YWJs ZSBjaGVja3N1bSB2ZXJpZmljYXRpb24gZGlzYWJsZWQNClsgICAgMC4wMDAwMDBdIEFDUEk6 IFJTRFAgMHgwMDAwMDAwMDM5NzEwMDAwIDAwMDAyNCAodjAyIEhJU0kgICkNClsgICAgMC4w MDAwMDBdIEFDUEk6IFhTRFQgMHgwMDAwMDAwMDM5NzAwMDAwIDAwMDA3NCAodjAxIEhJU0kg ICBISVAwOCAgICAwMDAwMDAwMCAgICAgIDAxMDAwMDEzKQ0KWyAgICAwLjAwMDAwMF0gQUNQ STogRkFDUCAweDAwMDAwMDAwMzk2MzAwMDAgMDAwMTE0ICh2MDYgSElTSSAgIEhJUDA4ICAg IDAwMDAwMDAwIElOVEwgMjAxNTExMjQpDQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBEU0RUIDB4 MDAwMDAwMDAzOTVDMDAwMCAwMDZBMUEgKHYwMiBISVNJICAgSElQMDggICAgMDAwMDAwMDAg SU5UTCAyMDE3MDkyOSkNClsgICAgMC4wMDAwMDBdIEFDUEk6IEdURFQgMHgwMDAwMDAwMDM5 NjIwMDAwIDAwMDA2MCAodjAyIEhJU0kgICBISVAwOCAgICAwMDAwMDAwMCBJTlRMIDIwMTUx MTI0KQ0KWyAgICAwLjAwMDAwMF0gQUNQSTogREJHMiAweDAwMDAwMDAwMzk2MTAwMDAgMDAw MDVBICh2MDAgSElTSSAgIEhJUDA4ICAgIDAwMDAwMDAwIElOVEwgMjAxNTExMjQpDQpbICAg IDAuMDAwMDAwXSBBQ1BJOiBNQ0ZHIDB4MDAwMDAwMDAzOTYwMDAwMCAwMDAwM0MgKHYwMSBI SVNJICAgSElQMDggICAgMDAwMDAwMDAgSU5UTCAyMDE1MTEyNCkNClsgICAgMC4wMDAwMDBd IEFDUEk6IFNMSVQgMHgwMDAwMDAwMDM5NUYwMDAwIDAwMDAzQyAodjAxIEhJU0kgICBISVAw NyAgICAwMDAwMDAwMCBJTlRMIDIwMTUxMTI0KQ0KWyAgICAwLjAwMDAwMF0gQUNQSTogU1JB VCAweDAwMDAwMDAwMzk1RTAwMDAgMDAwOUMwICh2MDMgSElTSSAgIEhJUDA4ICAgIDAwMDAw MDAwIElOVEwgMjAxNTExMjQpDQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBBUElDIDB4MDAwMDAw MDAzOTVEMDAwMCAwMDI4NkMgKHYwNCBISVNJICAgSElQMDggICAgMDAwMDAwMDAgSU5UTCAy MDE1MTEyNCkNClsgICAgMC4wMDAwMDBdIEFDUEk6IElPUlQgMHgwMDAwMDAwMDM5NUIwMDAw IDAwMTEwQyAodjAwIEhJU0kgICBISVAwOCAgICAwMDAwMDAwMCBJTlRMIDIwMTcwOTI5KQ0K WyAgICAwLjAwMDAwMF0gQUNQSTogUFBUVCAweDAwMDAwMDAwMzExRjAwMDAgMDAzN0QwICh2 MDEgSElTSSAgIEhJUDA4ICAgIDAwMDAwMDAwIElOVEwgMjAxNTExMjQpDQpbICAgIDAuMDAw MDAwXSBBQ1BJOiBTUE1JIDB4MDAwMDAwMDAzMTFFMDAwMCAwMDAwNDEgKHYwNSBISVNJICAg SElQMDggICAgMDAwMDAwMDAgSU5UTCAyMDE1MTEyNCkNClsgICAgMC4wMDAwMDBdIEFDUEk6 IE5VTUE6IFNSQVQ6IFBYTSAwIC0+IE1QSURSIDB4MzAwMDAgLT4gTm9kZSAwDQpbICAgIDAu MDAwMDAwXSBBQ1BJOiBOVU1BOiBTUkFUOiBQWE0gMCAtPiBNUElEUiAweDMwMDAxIC0+IE5v ZGUgMA0KWyAgICAwLjAwMDAwMF0gQUNQSTogTlVNQTogU1JBVDogUFhNIDAgLT4gTVBJRFIg MHgzMDAwMiAtPiBOb2RlIDANClsgICAgMC4wMDAwMDBdIEFDUEk6IE5VTUE6IFNSQVQ6IFBY TSAwIC0+IE1QSURSIDB4MzAwMDMgLT4gTm9kZSAwDQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBO VU1BOiBTUkFUOiBQWE0gMCAtPiBNUElEUiAweDMwMTAwIC0+IE5vZGUgMA0KWyAgICAwLjAw MDAwMF0gQUNQSTogTlVNQTogU1JBVDogUFhNIDAgLT4gTVBJRFIgMHgzMDEwMSAtPiBOb2Rl IDANClsgICAgMC4wMDAwMDBdIEFDUEk6IE5VTUE6IFNSQVQ6IFBYTSAwIC0+IE1QSURSIDB4 MzAxMDIgLT4gTm9kZSAwDQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBOVU1BOiBTUkFUOiBQWE0g MCAtPiBNUElEUiAweDMwMTAzIC0+IE5vZGUgMA0KWyAgICAwLjAwMDAwMF0gQUNQSTogTlVN QTogU1JBVDogUFhNIDAgLT4gTVBJRFIgMHgzMDIwMCAtPiBOb2RlIDANClsgICAgMC4wMDAw MDBdIEFDUEk6IE5VTUE6IFNSQVQ6IFBYTSAwIC0+IE1QSURSIDB4MzAyMDEgLT4gTm9kZSAw DQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBOVU1BOiBTUkFUOiBQWE0gMCAtPiBNUElEUiAweDMw MjAyIC0+IE5vZGUgMA0KWyAgICAwLjAwMDAwMF0gQUNQSTogTlVNQTogU1JBVDogUFhNIDAg LT4gTVBJRFIgMHgzMDIwMyAtPiBOb2RlIDANClsgICAgMC4wMDAwMDBdIEFDUEk6IE5VTUE6 IFNSQVQ6IFBYTSAwIC0+IE1QSURSIDB4MzAzMDAgLT4gTm9kZSAwDQpbICAgIDAuMDAwMDAw XSBBQ1BJOiBOVU1BOiBTUkFUOiBQWE0gMCAtPiBNUElEUiAweDMwMzAxIC0+IE5vZGUgMA0K WyAgICAwLjAwMDAwMF0gQUNQSTogTlVNQTogU1JBVDogUFhNIDAgLT4gTVBJRFIgMHgzMDMw MiAtPiBOb2RlIDANClsgICAgMC4wMDAwMDBdIEFDUEk6IE5VTUE6IFNSQVQ6IFBYTSAwIC0+ IE1QSURSIDB4MzAzMDMgLT4gTm9kZSAwDQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBOVU1BOiBT UkFUOiBQWE0gMCAtPiBNUElEUiAweDMwNDAwIC0+IE5vZGUgMA0KWyAgICAwLjAwMDAwMF0g QUNQSTogTlVNQTogU1JBVDogUFhNIDAgLT4gTVBJRFIgMHgzMDQwMSAtPiBOb2RlIDANClsg ICAgMC4wMDAwMDBdIEFDUEk6IE5VTUE6IFNSQVQ6IFBYTSAwIC0+IE1QSURSIDB4MzA0MDIg LT4gTm9kZSAwDQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBOVU1BOiBTUkFUOiBQWE0gMCAtPiBN UElEUiAweDMwNDAzIC0+IE5vZGUgMA0KWyAgICAwLjAwMDAwMF0gQUNQSTogTlVNQTogU1JB VDogUFhNIDAgLT4gTVBJRFIgMHgzMDUwMCAtPiBOb2RlIDANClsgICAgMC4wMDAwMDBdIEFD UEk6IE5VTUE6IFNSQVQ6IFBYTSAwIC0+IE1QSURSIDB4MzA1MDEgLT4gTm9kZSAwDQpbICAg IDAuMDAwMDAwXSBBQ1BJOiBOVU1BOiBTUkFUOiBQWE0gMCAtPiBNUElEUiAweDMwNTAyIC0+ IE5vZGUgMA0KWyAgICAwLjAwMDAwMF0gQUNQSTogTlVNQTogU1JBVDogUFhNIDAgLT4gTVBJ RFIgMHgzMDUwMyAtPiBOb2RlIDANClsgICAgMC4wMDAwMDBdIEFDUEk6IE5VTUE6IFNSQVQ6 IFBYTSAwIC0+IE1QSURSIDB4MzA2MDAgLT4gTm9kZSAwDQpbICAgIDAuMDAwMDAwXSBBQ1BJ OiBOVU1BOiBTUkFUOiBQWE0gMCAtPiBNUElEUiAweDMwNjAxIC0+IE5vZGUgMA0KWyAgICAw LjAwMDAwMF0gQUNQSTogTlVNQTogU1JBVDogUFhNIDAgLT4gTVBJRFIgMHgzMDYwMiAtPiBO b2RlIDANClsgICAgMC4wMDAwMDBdIEFDUEk6IE5VTUE6IFNSQVQ6IFBYTSAwIC0+IE1QSURS IDB4MzA2MDMgLT4gTm9kZSAwDQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBOVU1BOiBTUkFUOiBQ WE0gMCAtPiBNUElEUiAweDMwNzAwIC0+IE5vZGUgMA0KWyAgICAwLjAwMDAwMF0gQUNQSTog TlVNQTogU1JBVDogUFhNIDAgLT4gTVBJRFIgMHgzMDcwMSAtPiBOb2RlIDANClsgICAgMC4w MDAwMDBdIEFDUEk6IE5VTUE6IFNSQVQ6IFBYTSAwIC0+IE1QSURSIDB4MzA3MDIgLT4gTm9k ZSAwDQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBOVU1BOiBTUkFUOiBQWE0gMCAtPiBNUElEUiAw eDMwNzAzIC0+IE5vZGUgMA0KWyAgICAwLjAwMDAwMF0gQUNQSTogTlVNQTogU1JBVDogUFhN IDEgLT4gTVBJRFIgMHgxMDAwMCAtPiBOb2RlIDENClsgICAgMC4wMDAwMDBdIEFDUEk6IE5V TUE6IFNSQVQ6IFBYTSAxIC0+IE1QSURSIDB4MTAwMDEgLT4gTm9kZSAxDQpbICAgIDAuMDAw MDAwXSBBQ1BJOiBOVU1BOiBTUkFUOiBQWE0gMSAtPiBNUElEUiAweDEwMDAyIC0+IE5vZGUg MQ0KWyAgICAwLjAwMDAwMF0gQUNQSTogTlVNQTogU1JBVDogUFhNIDEgLT4gTVBJRFIgMHgx MDAwMyAtPiBOb2RlIDENClsgICAgMC4wMDAwMDBdIEFDUEk6IE5VTUE6IFNSQVQ6IFBYTSAx IC0+IE1QSURSIDB4MTAxMDAgLT4gTm9kZSAxDQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBOVU1B OiBTUkFUOiBQWE0gMSAtPiBNUElEUiAweDEwMTAxIC0+IE5vZGUgMQ0KWyAgICAwLjAwMDAw MF0gQUNQSTogTlVNQTogU1JBVDogUFhNIDEgLT4gTVBJRFIgMHgxMDEwMiAtPiBOb2RlIDEN ClsgICAgMC4wMDAwMDBdIEFDUEk6IE5VTUE6IFNSQVQ6IFBYTSAxIC0+IE1QSURSIDB4MTAx MDMgLT4gTm9kZSAxDQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBOVU1BOiBTUkFUOiBQWE0gMSAt PiBNUElEUiAweDEwMjAwIC0+IE5vZGUgMQ0KWyAgICAwLjAwMDAwMF0gQUNQSTogTlVNQTog U1JBVDogUFhNIDEgLT4gTVBJRFIgMHgxMDIwMSAtPiBOb2RlIDENClsgICAgMC4wMDAwMDBd IEFDUEk6IE5VTUE6IFNSQVQ6IFBYTSAxIC0+IE1QSURSIDB4MTAyMDIgLT4gTm9kZSAxDQpb ICAgIDAuMDAwMDAwXSBBQ1BJOiBOVU1BOiBTUkFUOiBQWE0gMSAtPiBNUElEUiAweDEwMjAz IC0+IE5vZGUgMQ0KWyAgICAwLjAwMDAwMF0gQUNQSTogTlVNQTogU1JBVDogUFhNIDEgLT4g TVBJRFIgMHgxMDMwMCAtPiBOb2RlIDENClsgICAgMC4wMDAwMDBdIEFDUEk6IE5VTUE6IFNS QVQ6IFBYTSAxIC0+IE1QSURSIDB4MTAzMDEgLT4gTm9kZSAxDQpbICAgIDAuMDAwMDAwXSBB Q1BJOiBOVU1BOiBTUkFUOiBQWE0gMSAtPiBNUElEUiAweDEwMzAyIC0+IE5vZGUgMQ0KWyAg ICAwLjAwMDAwMF0gQUNQSTogTlVNQTogU1JBVDogUFhNIDEgLT4gTVBJRFIgMHgxMDMwMyAt PiBOb2RlIDENClsgICAgMC4wMDAwMDBdIEFDUEk6IE5VTUE6IFNSQVQ6IFBYTSAxIC0+IE1Q SURSIDB4MTA0MDAgLT4gTm9kZSAxDQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBOVU1BOiBTUkFU OiBQWE0gMSAtPiBNUElEUiAweDEwNDAxIC0+IE5vZGUgMQ0KWyAgICAwLjAwMDAwMF0gQUNQ STogTlVNQTogU1JBVDogUFhNIDEgLT4gTVBJRFIgMHgxMDQwMiAtPiBOb2RlIDENClsgICAg MC4wMDAwMDBdIEFDUEk6IE5VTUE6IFNSQVQ6IFBYTSAxIC0+IE1QSURSIDB4MTA0MDMgLT4g Tm9kZSAxDQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBOVU1BOiBTUkFUOiBQWE0gMSAtPiBNUElE UiAweDEwNTAwIC0+IE5vZGUgMQ0KWyAgICAwLjAwMDAwMF0gQUNQSTogTlVNQTogU1JBVDog UFhNIDEgLT4gTVBJRFIgMHgxMDUwMSAtPiBOb2RlIDENClsgICAgMC4wMDAwMDBdIEFDUEk6 IE5VTUE6IFNSQVQ6IFBYTSAxIC0+IE1QSURSIDB4MTA1MDIgLT4gTm9kZSAxDQpbICAgIDAu MDAwMDAwXSBBQ1BJOiBOVU1BOiBTUkFUOiBQWE0gMSAtPiBNUElEUiAweDEwNTAzIC0+IE5v ZGUgMQ0KWyAgICAwLjAwMDAwMF0gQUNQSTogTlVNQTogU1JBVDogUFhNIDEgLT4gTVBJRFIg MHgxMDYwMCAtPiBOb2RlIDENClsgICAgMC4wMDAwMDBdIEFDUEk6IE5VTUE6IFNSQVQ6IFBY TSAxIC0+IE1QSURSIDB4MTA2MDEgLT4gTm9kZSAxDQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBO VU1BOiBTUkFUOiBQWE0gMSAtPiBNUElEUiAweDEwNjAyIC0+IE5vZGUgMQ0KWyAgICAwLjAw MDAwMF0gQUNQSTogTlVNQTogU1JBVDogUFhNIDEgLT4gTVBJRFIgMHgxMDYwMyAtPiBOb2Rl IDENClsgICAgMC4wMDAwMDBdIEFDUEk6IE5VTUE6IFNSQVQ6IFBYTSAxIC0+IE1QSURSIDB4 MTA3MDAgLT4gTm9kZSAxDQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBOVU1BOiBTUkFUOiBQWE0g MSAtPiBNUElEUiAweDEwNzAxIC0+IE5vZGUgMQ0KWyAgICAwLjAwMDAwMF0gQUNQSTogTlVN QTogU1JBVDogUFhNIDEgLT4gTVBJRFIgMHgxMDcwMiAtPiBOb2RlIDENClsgICAgMC4wMDAw MDBdIEFDUEk6IE5VTUE6IFNSQVQ6IFBYTSAxIC0+IE1QSURSIDB4MTA3MDMgLT4gTm9kZSAx DQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBOVU1BOiBTUkFUOiBQWE0gMiAtPiBNUElEUiAweDcw MDAwIC0+IE5vZGUgMg0KWyAgICAwLjAwMDAwMF0gQUNQSTogTlVNQTogU1JBVDogUFhNIDIg LT4gTVBJRFIgMHg3MDAwMSAtPiBOb2RlIDINClsgICAgMC4wMDAwMDBdIEFDUEk6IE5VTUE6 IFNSQVQ6IFBYTSAyIC0+IE1QSURSIDB4NzAwMDIgLT4gTm9kZSAyDQpbICAgIDAuMDAwMDAw XSBBQ1BJOiBOVU1BOiBTUkFUOiBQWE0gMiAtPiBNUElEUiAweDcwMDAzIC0+IE5vZGUgMg0K WyAgICAwLjAwMDAwMF0gQUNQSTogTlVNQTogU1JBVDogUFhNIDIgLT4gTVBJRFIgMHg3MDEw MCAtPiBOb2RlIDINClsgICAgMC4wMDAwMDBdIEFDUEk6IE5VTUE6IFNSQVQ6IFBYTSAyIC0+ IE1QSURSIDB4NzAxMDEgLT4gTm9kZSAyDQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBOVU1BOiBT UkFUOiBQWE0gMiAtPiBNUElEUiAweDcwMTAyIC0+IE5vZGUgMg0KWyAgICAwLjAwMDAwMF0g QUNQSTogTlVNQTogU1JBVDogUFhNIDIgLT4gTVBJRFIgMHg3MDEwMyAtPiBOb2RlIDINClsg ICAgMC4wMDAwMDBdIEFDUEk6IE5VTUE6IFNSQVQ6IGNwdV90b19ub2RlX21hcFs3Ml0gaXMg dG9vIHNtYWxsLCBtYXkgbm90IGJlIGFibGUgdG8gdXNlIGFsbCBjcHVzDQpbICAgIDAuMDAw MDAwXSBBQ1BJOiBTUkFUOiBOb2RlIDAgUFhNIDAgW21lbSAweDIwODAwMDAwMDAtMHgyM2Zm ZmZmZmZmXQ0KWyAgICAwLjAwMDAwMF0gQUNQSTogU1JBVDogTm9kZSAwIFBYTSAwIFttZW0g MHgwMDAwMDAwMC0weDdmZmZmZmZmXQ0KWyAgICAwLjAwMDAwMF0gQUNQSTogU1JBVDogTm9k ZSAyIFBYTSAyIFttZW0gMHg0MDIwMDAwMDAwMDAtMHg0MDIzZmZmZmZmZmZdDQpbICAgIDAu MDAwMDAwXSBOVU1BOiBOT0RFX0RBVEEgW21lbSAweDIzZmZmZmU3ODAtMHgyM2ZmZmZmZmZm XQ0KWyAgICAwLjAwMDAwMF0gTlVNQTogSW5pdG1lbSBzZXR1cCBub2RlIDEgWzxtZW1vcnkt bGVzcyBub2RlPl0NClsgICAgMC4wMDAwMDBdIE5VTUE6IE5PREVfREFUQSBbbWVtIDB4NDAy M2ZmZmVkNzgwLTB4NDAyM2ZmZmVlZmZmXQ0KWyAgICAwLjAwMDAwMF0gTlVNQTogTk9ERV9E QVRBKDEpIG9uIG5vZGUgMg0KWyAgICAwLjAwMDAwMF0gTlVNQTogTk9ERV9EQVRBIFttZW0g MHg0MDIzZmZmZWJmMDAtMHg0MDIzZmZmZWQ3N2ZdDQpbICAgIDAuMDAwMDAwXSBab25lIHJh bmdlczoNClsgICAgMC4wMDAwMDBdICAgRE1BMzIgICAgW21lbSAweDAwMDAwMDAwMDAwMDAw MDAtMHgwMDAwMDAwMGZmZmZmZmZmXQ0KWyAgICAwLjAwMDAwMF0gICBOb3JtYWwgICBbbWVt IDB4MDAwMDAwMDEwMDAwMDAwMC0weDAwMDA0MDIzZmZmZmZmZmZdDQpbICAgIDAuMDAwMDAw XSBNb3ZhYmxlIHpvbmUgc3RhcnQgZm9yIGVhY2ggbm9kZQ0KWyAgICAwLjAwMDAwMF0gRWFy bHkgbWVtb3J5IG5vZGUgcmFuZ2VzDQpbICAgIDAuMDAwMDAwXSAgIG5vZGUgICAwOiBbbWVt IDB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDAwMzk0MmZmZmZdDQpbICAgIDAuMDAwMDAw XSAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAwMDAzOTQzMDAwMC0weDAwMDAwMDAwMzk1NmZm ZmZdDQpbICAgIDAuMDAwMDAwXSAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAwMDAzOTU3MDAw MC0weDAwMDAwMDAwMzk2M2ZmZmZdDQpbICAgIDAuMDAwMDAwXSAgIG5vZGUgICAwOiBbbWVt IDB4MDAwMDAwMDAzOTY0MDAwMC0weDAwMDAwMDAwMzk2ZmZmZmZdDQpbICAgIDAuMDAwMDAw XSAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAwMDAzOTcwMDAwMC0weDAwMDAwMDAwMzk3MWZm ZmZdDQpbICAgIDAuMDAwMDAwXSAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAwMDAzOTcyMDAw MC0weDAwMDAwMDAwMzliNmZmZmZdDQpbICAgIDAuMDAwMDAwXSAgIG5vZGUgICAwOiBbbWVt IDB4MDAwMDAwMDAzOWI3MDAwMC0weDAwMDAwMDAwM2ViNWZmZmZdDQpbICAgIDAuMDAwMDAw XSAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAwMDAzZWI2MDAwMC0weDAwMDAwMDAwM2ViOGZm ZmZdDQpbICAgIDAuMDAwMDAwXSAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAwMDAzZWI5MDAw MC0weDAwMDAwMDAwM2ZiZmZmZmZdDQpbICAgIDAuMDAwMDAwXSAgIG5vZGUgICAwOiBbbWVt IDB4MDAwMDAwMjA4MDAwMDAwMC0weDAwMDAwMDIzZmZmZmZmZmZdDQpbICAgIDAuMDAwMDAw XSAgIG5vZGUgICAyOiBbbWVtIDB4MDAwMDQwMjAwMDAwMDAwMC0weDAwMDA0MDIzZmZmZmZm ZmZdDQpbICAgIDAuMDAwMDAwXSBJbml0bWVtIHNldHVwIG5vZGUgMCBbbWVtIDB4MDAwMDAw MDAwMDAwMDAwMC0weDAwMDAwMDIzZmZmZmZmZmZdDQpbICAgIDAuMDAwMDAwXSBDb3VsZCBu b3QgZmluZCBzdGFydF9wZm4gZm9yIG5vZGUgMQ0KWyAgICAwLjAwMDAwMF0gSW5pdG1lbSBz ZXR1cCBub2RlIDEgW21lbSAweDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMDAwMDAwMDAw XQ0KWyAgICAwLjAwMDAwMF0gSW5pdG1lbSBzZXR1cCBub2RlIDIgW21lbSAweDAwMDA0MDIw MDAwMDAwMDAtMHgwMDAwNDAyM2ZmZmZmZmZmXQ0KWyAgICAwLjAwMDAwMF0gcHNjaTogcHJv YmluZyBmb3IgY29uZHVpdCBtZXRob2QgZnJvbSBBQ1BJLg0KWyAgICAwLjAwMDAwMF0gcHNj aTogUFNDSXYxLjAgZGV0ZWN0ZWQgaW4gZmlybXdhcmUuDQpbICAgIDAuMDAwMDAwXSBwc2Np OiBVc2luZyBzdGFuZGFyZCBQU0NJIHYwLjIgZnVuY3Rpb24gSURzDQpbICAgIDAuMDAwMDAw XSBwc2NpOiBNSUdSQVRFX0lORk9fVFlQRSBub3Qgc3VwcG9ydGVkLg0KWyAgICAwLjAwMDAw MF0gcHNjaTogU01DIENhbGxpbmcgQ29udmVudGlvbiB2MS4wDQpbICAgIDAuMDAwMDAwXSBy YW5kb206IGZhc3QgaW5pdCBkb25lDQpbICAgIDAuMDAwMDAwXSBwZXJjcHU6IEVtYmVkZGVk IDI0IHBhZ2VzL2NwdSBAICAgICAgICAocHRydmFsKSBzNTk0MzIgcjgxOTIgZDMwNjgwIHU5 ODMwNA0KWyAgICAwLjAwMDAwMF0gRGV0ZWN0ZWQgVklQVCBJLWNhY2hlIG9uIENQVTANClsg ICAgMC4wMDAwMDBdIEJ1aWx0IDMgem9uZWxpc3RzLCBtb2JpbGl0eSBncm91cGluZyBvbi4g IFRvdGFsIHBhZ2VzOiA3OTk4NDgwDQpbICAgIDAuMDAwMDAwXSBQb2xpY3kgem9uZTogTm9y bWFsDQpbICAgIDAuMDAwMDAwXSBLZXJuZWwgY29tbWFuZCBsaW5lOiBlYXJseWNvbj1wbDAx MSxtbWlvMzIsMHg5NDA4MDAwMCBjb25zb2xlPXR0eUFNQTAsMTE1MjAwIGluaXRyZD1taW5p ZnMuY3Bpby5neiBhY3BpPWZvcmNlDQpbICAgIDAuMDAwMDAwXSBsb2dfYnVmX2xlbiBpbmRp dmlkdWFsIG1heCBjcHUgY29udHJpYnV0aW9uOiA0MDk2IGJ5dGVzDQpbICAgIDAuMDAwMDAw XSBsb2dfYnVmX2xlbiB0b3RhbCBjcHVfZXh0cmEgY29udHJpYnV0aW9uczogMjkwODE2IGJ5 dGVzDQouLi4NClsgICAgMC4xNDExODJdIFBsYXRmb3JtIE1TSTogSVRTQDB4NDAwMjAyMTAw MDAwIGRvbWFpbiBjcmVhdGVkDQpbICAgIDAuMTQ2NzkzXSBQQ0kvTVNJOiBJVFNAMHgyMDIx MDAwMDAgZG9tYWluIGNyZWF0ZWQNClsgICAgMC4xNTE2OTBdIFBDSS9NU0k6IElUU0AweDQw MDIwMjEwMDAwMCBkb21haW4gY3JlYXRlZA0KWyAgICAwLjE1NjkwNl0gUmVtYXBwaW5nIGFu ZCBlbmFibGluZyBFRkkgc2VydmljZXMuDQpbICAgIDAuMTYxNTYyXSAgIEVGSSByZW1hcCAw eDAwMDAwMDAwMzk0MzAwMDAgPT4gICAgICAgICAocHRydmFsKQ0KWyAgICAwLjE2NzQzMV0g ICBFRkkgcmVtYXAgMHgwMDAwMDAwMDM5NDgwMDAwID0+ICAgICAgICAgKHB0cnZhbCkNClsg ICAgMC4xNzMyOTldICAgRUZJIHJlbWFwIDB4MDAwMDAwMDAzOTRkMDAwMCA9PiAgICAgICAg IChwdHJ2YWwpDQpbICAgIDAuMTc5MTY3XSAgIEVGSSByZW1hcCAweDAwMDAwMDAwMzk1MjAw MDAgPT4gICAgICAgICAocHRydmFsKQ0KWyAgICAwLjE4NTAzN10gICBFRkkgcmVtYXAgMHgw MDAwMDAwMDM5NjUwMDAwID0+ICAgICAgICAgKHB0cnZhbCkNClsgICAgMC4xOTA5MDVdICAg RUZJIHJlbWFwIDB4MDAwMDAwMDAzOTZiMDAwMCA9PiAgICAgICAgIChwdHJ2YWwpDQpbICAg IDAuMTk2NzczXSAgIEVGSSByZW1hcCAweDAwMDAwMDAwMzk3MjAwMDAgPT4gICAgICAgICAo cHRydmFsKQ0KWyAgICAwLjIwMjYzOV0gICBFRkkgcmVtYXAgMHgwMDAwMDAwMDM5NzcwMDAw ID0+ICAgICAgICAgKHB0cnZhbCkNClsgICAgMC4yMDg1MDVdICAgRUZJIHJlbWFwIDB4MDAw MDAwMDAzOTdjMDAwMCA9PiAgICAgICAgIChwdHJ2YWwpDQpbICAgIDAuMjE0MzcxXSAgIEVG SSByZW1hcCAweDAwMDAwMDAwMzk4MTAwMDAgPT4gICAgICAgICAocHRydmFsKQ0KWyAgICAw LjIyMDIzNl0gICBFRkkgcmVtYXAgMHgwMDAwMDAwMDM5ODYwMDAwID0+ICAgICAgICAgKHB0 cnZhbCkNClsgICAgMC4yMjYxMDNdICAgRUZJIHJlbWFwIDB4MDAwMDAwMDAzOThiMDAwMCA9 PiAgICAgICAgIChwdHJ2YWwpDQpbICAgIDAuMjMxOTczXSAgIEVGSSByZW1hcCAweDAwMDAw MDAwMzk5MDAwMDAgPT4gICAgICAgICAocHRydmFsKQ0KWyAgICAwLjIzNzg0MF0gICBFRkkg cmVtYXAgMHgwMDAwMDAwMDM5OTcwMDAwID0+ICAgICAgICAgKHB0cnZhbCkNClsgICAgMC4y NDM3MTBdICAgRUZJIHJlbWFwIDB4MDAwMDAwMDAzOTljMDAwMCA9PiAgICAgICAgIChwdHJ2 YWwpDQpbICAgIDAuMjQ5NTc3XSAgIEVGSSByZW1hcCAweDAwMDAwMDAwMzlhMTAwMDAgPT4g ICAgICAgICAocHRydmFsKQ0KWyAgICAwLjI1NTQ0NV0gICBFRkkgcmVtYXAgMHgwMDAwMDAw MDM5YTYwMDAwID0+ICAgICAgICAgKHB0cnZhbCkNClsgICAgMC4yNjEzMTNdICAgRUZJIHJl bWFwIDB4MDAwMDAwMDAzOWFiMDAwMCA9PiAgICAgICAgIChwdHJ2YWwpDQpbICAgIDAuMjY3 MTg0XSAgIEVGSSByZW1hcCAweDAwMDAwMDAwMzliMDAwMDAgPT4gICAgICAgICAocHRydmFs KQ0KWyAgICAwLjI3MzA0N10gICBFRkkgcmVtYXAgMHgwMDAwMDAwMDNlYjYwMDAwID0+ICAg ICAgICAgKHB0cnZhbCkNClsgICAgMC4yNzg5MDddICAgRUZJIHJlbWFwIDB4MDAwMDAwMDA4 MDAwMDAwMCA9PiAgICAgICAgIChwdHJ2YWwpDQpbICAgIDAuMjg0NzY2XSAgIEVGSSByZW1h cCAweDAwMDAwMDAyMDIwMjAwMDAgPT4gICAgICAgICAocHRydmFsKQ0KWyAgICAwLjI5MDYy Nl0gICBFRkkgcmVtYXAgMHgwMDAwMDAwMjA0MDAwMDAwID0+ICAgICAgICAgKHB0cnZhbCkN ClsgICAgMC4yOTY0ODddICAgRUZJIHJlbWFwIDB4MDAwMDAwMDIwNjIwMDAwMCA9PiAgICAg ICAgIChwdHJ2YWwpDQpbICAgIDAuMzE4MzU5XSBzbXA6IEJyaW5naW5nIHVwIHNlY29uZGFy eSBDUFVzIC4uLg0KWyAgICAwLjQyMjQ3M10gRGV0ZWN0ZWQgVklQVCBJLWNhY2hlIG9uIENQ VTENClsgICAgMC40MjI0ODFdIEdJQ3YzOiBDUFUxOiBmb3VuZCByZWRpc3RyaWJ1dG9yIDMw MDAxIHJlZ2lvbiAxOjB4MDAwMDAwMDBhYTE0MDAwMA0KWyAgICAwLjQyMjUwMl0gQ1BVMTog dXNpbmcgTFBJIHBlbmRpbmcgdGFibGUgQDB4MDAwMDAwMjNlZTQ4MDAwMA0KWyAgICAwLjQy MjU0M10gQ1BVMTogQm9vdGVkIHNlY29uZGFyeSBwcm9jZXNzb3IgMHgwMDAwMDMwMDAxIFsw eDQ4MGZkMDEwXQ0KWyAgICAwLjUyMjEwOV0gRGV0ZWN0ZWQgVklQVCBJLWNhY2hlIG9uIENQ VTINClsgICAgMC41MjIxMTVdIEdJQ3YzOiBDUFUyOiBmb3VuZCByZWRpc3RyaWJ1dG9yIDMw MDAyIHJlZ2lvbiAyOjB4MDAwMDAwMDBhYTE4MDAwMA0KWyAgICAwLjUyMjEzNV0gQ1BVMjog dXNpbmcgTFBJIHBlbmRpbmcgdGFibGUgQDB4MDAwMDAwMjNlZTRiMDAwMA0KWyAgICAwLjUy MjE3NV0gQ1BVMjogQm9vdGVkIHNlY29uZGFyeSBwcm9jZXNzb3IgMHgwMDAwMDMwMDAyIFsw eDQ4MGZkMDEwXQ0KWyAgICAwLjYyMTc1MV0gRGV0ZWN0ZWQgVklQVCBJLWNhY2hlIG9uIENQ VTMNCi4uLg0KWyAgICA3LjMyODk5Ml0gQ1BVNzA6IEJvb3RlZCBzZWNvbmRhcnkgcHJvY2Vz c29yIDB4MDAwMDA3MDEwMiBbMHg0ODBmZDAxMF0NClsgICAgNy40MzU4ODBdIERldGVjdGVk IFZJUFQgSS1jYWNoZSBvbiBDUFU3MQ0KWyAgICA3LjQzNTkzMV0gR0lDdjM6IENQVTcxOiBm b3VuZCByZWRpc3RyaWJ1dG9yIDcwMTAzIHJlZ2lvbiA3MToweDAwMDA0MDAwYWEyYzAwMDAN ClsgICAgNy40MzU5NThdIENQVTcxOiB1c2luZyBMUEkgcGVuZGluZyB0YWJsZSBAMHgwMDAw MDAyM2VkMzQwMDAwDQpbICAgIDcuNDM2MDM3XSBDUFU3MTogQm9vdGVkIHNlY29uZGFyeSBw cm9jZXNzb3IgMHgwMDAwMDcwMTAzIFsweDQ4MGZkMDEwXQ0KWyAgICA3LjQzNjEzMV0gc21w OiBCcm91Z2h0IHVwIDMgbm9kZXMsIDcyIENQVXMNClsgICAgOS4xNDYyNTBdIFNNUDogVG90 YWwgb2YgNzIgcHJvY2Vzc29ycyBhY3RpdmF0ZWQuDQpbICAgIDkuMTUxMDY3XSBDUFUgZmVh dHVyZXM6IGRldGVjdGVkIGZlYXR1cmU6IEdJQyBzeXN0ZW0gcmVnaXN0ZXIgQ1BVIGludGVy ZmFjZQ0KWyAgICA5LjE1ODI0N10gQ1BVIGZlYXR1cmVzOiBkZXRlY3RlZCBmZWF0dXJlOiBQ cml2aWxlZ2VkIEFjY2VzcyBOZXZlcg0KLi4uDQpbICAgMTEuNTM1MDUwXSBwY2kgMDAwMDo3 NDowMi4wOiBCQVIgNTogYXNzaWduZWQgW21lbSAweGEyMDAwMDAwLTB4YTIwMDdmZmZdDQpb ICAgMTEuNTQxODI5XSBwY2kgMDAwMDo3NDowMy4wOiBCQVIgNTogYXNzaWduZWQgW21lbSAw eGEyMDA4MDAwLTB4YTIwMDhmZmZdDQpbICAgMTEuNTQ4NjEwXSBwY2kgMDAwMDo3NTowMC4w OiBCQVIgMjogYXNzaWduZWQgW21lbSAweDE0NDAwMDAwMC0weDE0NDNmZmZmZiA2NGJpdCBw cmVmXQ0KWyAgIDExLjU1NjUxOF0gcGNpIDAwMDA6NzU6MDAuMDogQkFSIDk6IGFzc2lnbmVk IFttZW0gMHgxNDQ0MDAwMDAtMHgxNDQ3ZWZmZmYgNjRiaXQgcHJlZl0NClsgICAxMS41NjQ0 MjZdIHBjaSAwMDAwOjc0OjAwLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyA3NV0NClsgICAxMS41 NjkzODJdIHBjaSAwMDAwOjc0OjAwLjA6ICAgYnJpZGdlIHdpbmRvdyBbbWVtIDB4MTQ0MDAw MDAwLTB4MTQ0N2ZmZmZmIDY0Yml0IHByZWZdDQpbICAgMTEuNTc3MzMyXSBBQ1BJOiBQQ0kg Um9vdCBCcmlkZ2UgW1BDSTZdIChkb21haW4gMDAwMCBbYnVzIDgwLTlmXSkNClsgICAxMS41 ODM1MDVdIGFjcGkgUE5QMEEwODowNjogX09TQzogT1Mgc3VwcG9ydHMgW0V4dGVuZGVkQ29u ZmlnIEFTUE0gQ2xvY2tQTSBTZWdtZW50cyBNU0ldDQpbICAgMTEuNTkxODUwXSBhY3BpIFBO UDBBMDg6MDY6IF9PU0M6IE9TIG5vdyBjb250cm9scyBbUENJZUhvdHBsdWcgUE1FIEFFUiBQ Q0llQ2FwYWJpbGl0eV0NClsgICAxMS41OTk4NTFdIENQVTAwMjogcGNpX2FjcGlfc2Nhbl9y b290OiAxNzUgbm9kZSAzLCBvbmxpbmUgMA0KWyAgIDExLjYwNTUwM10gVW5hYmxlIHRvIGhh bmRsZSBrZXJuZWwgcGFnaW5nIHJlcXVlc3QgYXQgdmlydHVhbCBhZGRyZXNzIDAwMDAxNTMw DQpbICAgMTEuNjEyNzEyXSBNZW0gYWJvcnQgaW5mbzoNClsgICAxMS42MTU0OTJdICAgRVNS ID0gMHg5NjAwMDAwNA0KWyAgIDExLjYxODUzNF0gICBFeGNlcHRpb24gY2xhc3MgPSBEQUJU IChjdXJyZW50IEVMKSwgSUwgPSAzMiBiaXRzDQpbICAgMTEuNjI0NDQwXSAgIFNFVCA9IDAs IEZuViA9IDANClsgICAxMS42Mjc0ODFdICAgRUEgPSAwLCBTMVBUVyA9IDANClsgICAxMS42 MzA2MDhdIERhdGEgYWJvcnQgaW5mbzoNClsgICAxMS42MzM0NzZdICAgSVNWID0gMCwgSVNT ID0gMHgwMDAwMDAwNA0KWyAgIDExLjYzNzI5OV0gICBDTSA9IDAsIFduUiA9IDANClsgICAx MS42NDAyNTRdIFswMDAwMDAwMDAwMDAxNTMwXSB1c2VyIGFkZHJlc3MgYnV0IGFjdGl2ZV9t bSBpcyBzd2FwcGVyDQpbICAgMTEuNjQ2NTk0XSBJbnRlcm5hbCBlcnJvcjogT29wczogOTYw MDAwMDQgWyMxXSBQUkVFTVBUIFNNUA0KWyAgIDExLjY1MjE1NF0gTW9kdWxlcyBsaW5rZWQg aW46DQpbICAgMTEuNjU1MTk4XSBDUFU6IDIgUElEOiAxIENvbW06IHN3YXBwZXIvMCBOb3Qg dGFpbnRlZCA0LjE2LjAtcmMxLTAwNDkxLWcyMDRhNmNjLWRpcnR5ICMxNw0KWyAgIDExLjY2 MzM2MV0gSGFyZHdhcmUgbmFtZTogSHVhd2VpLCAwNi8wMi8yMDE4DQpbICAgMTEuNjczMTc0 XSBwc3RhdGU6IDIwYzAwMDg5IChuekN2IGRhSWYgK1BBTiArVUFPKQ0KWyAgIDExLjY3Nzk1 NV0gcGMgOiBfX19zbGFiX2FsbG9jKzB4NjAvMHg1OTANClsgICAxMS42ODE5NTJdIGxyIDog X19zbGFiX2FsbG9jLmlzcmEuMjQrMHg1OC8weDcwDQpbICAgMTEuNjg2NDY5XSBzcCA6IGZm ZmYwMDAwMDk4MWI4NzANClsgICAxMS42ODk3NzFdIHgyOTogZmZmZjAwMDAwOTgxYjg3MCB4 Mjg6IGZmZmZjMDIzZWI4ZDgwMDAgDQpbICAgMTEuNjk1MDcxXSB4Mjc6IGZmZmY3ZTAwOGZh ZmQ2MDAgeDI2OiBmZmZmODAyM2YwNDA3YzAwIA0KWyAgIDExLjcwMDM3Ml0geDI1OiBmZmZm ODAyM2YwNDA3YzAwIHgyNDogZmZmZjAwMDAwODA5OGRhMCANClsgICAxMS43MDU2NzFdIHgy MzogMDAwMDAwMDAwMDAwMDAwMyB4MjI6IDAwMDAwMDAwMDE0MDgwYzAgDQpbICAgMTEuNzEw OTcxXSB4MjE6IDAwMDAwMDAwMDAwMDAwMDAgeDIwOiAwMDAwMDAwMDAwMDAwMDAzIA0KWyAg IDExLjcxNjI3MV0geDE5OiBmZmZmODAyM2YwYjQwODcwIHgxODogZmZmZmZmZmZmZmZmZmZm ZiANClsgICAxMS43MjE1NzFdIHgxNzogMDAwMDAwMDAwMDAwMDAwMCB4MTY6IDAwMDAwMDAw MDAwMWMyMDAgDQpbICAgMTEuNzI2ODcxXSB4MTU6IGZmZmYwMDAwMDk0MjNiODggeDE0OiBm ZmZmMDAwMDg5NThjOTRmIA0KWyAgIDExLjczMjE3MV0geDEzOiBmZmZmMDAwMDA5NThjOTVk IHgxMjogZmZmZjAwMDAwOTQzZTg1OCANClsgICAxMS43Mzc0NzFdIHgxMTogZmZmZjAwMDAw OTQzZTAwMCB4MTA6IDAwMDAwMDAwMDVmNWUwZmYgDQpbICAgMTEuNzQyNzcxXSB4OSA6IDAw MDAwMDAwZmZmZmZmZDAgeDggOiA2NTY0NmY2ZTIwMzUzNzMxIA0KWyAgIDExLjc0ODA3MV0g eDcgOiAyMDNhNzQ2ZjZmNzI1ZjZlIHg2IDogMDAwMDAwMDAwMDAwMDJlOCANClsgICAxMS43 NTMzNzFdIHg1IDogMDAwMDAwMDAwMDAwMDAwYSB4NCA6IGZmZmY4MDIzZjBiNDA4NzAgDQpb ICAgMTEuNzU4NjcwXSB4MyA6IGZmZmYwMDAwMDgwOThkYTAgeDIgOiAwMDAwMDAwMDAwMDAw MDAzIA0KWyAgIDExLjc2Mzk3MF0geDEgOiAwMDAwMDAwMDAwMDAwMDAwIHgwIDogMDAwMDAw MDAwMDAwMDAwMCANClsgICAxMS43NjkyNzFdIFByb2Nlc3Mgc3dhcHBlci8wIChwaWQ6IDEs IHN0YWNrIGxpbWl0ID0gMHgwMDAwMDAwMGIyMWE3NzZjKQ0KWyAgIDExLjc3NTk1OF0gQ2Fs bCB0cmFjZToNClsgICAxMS43NzgzOTJdICBfX19zbGFiX2FsbG9jKzB4NjAvMHg1OTANClsg ICAxMS43ODIwNDFdICBfX3NsYWJfYWxsb2MuaXNyYS4yNCsweDU4LzB4NzANClsgICAxMS43 ODYyMTJdICBrbWVtX2NhY2hlX2FsbG9jX25vZGUrMHhlMC8weDI0MA0KWyAgIDExLjc5MDU1 Nl0gIHBjaV9hY3BpX3NjYW5fcm9vdCsweGIwLzB4MjcwDQpbICAgMTEuNzk0NjQyXSAgYWNw aV9wY2lfcm9vdF9hZGQrMHgyOWMvMHg0OTgNClsgICAxMS43OTg3MjZdICBhY3BpX2J1c19h dHRhY2grMHgxMDQvMHgyMTANClsgICAxMS44MDI2MzVdICBhY3BpX2J1c19hdHRhY2grMHhh NC8weDIxMA0KWyAgIDExLjgwNjQ1OF0gIGFjcGlfYnVzX2F0dGFjaCsweGE0LzB4MjEwDQpb ICAgMTEuODEwMjgyXSAgYWNwaV9idXNfc2NhbisweDRjLzB4YjANClsgICAxMS44MTM4NDZd ICBhY3BpX3NjYW5faW5pdCsweGVjLzB4MjRjDQpbICAgMTEuODE3NTgyXSAgYWNwaV9pbml0 KzB4MzAwLzB4MzZjDQpbICAgMTEuODIwOTcyXSAgZG9fb25lX2luaXRjYWxsKzB4NTAvMHgx NTgNClsgICAxMS44MjQ3OTddICBrZXJuZWxfaW5pdF9mcmVlYWJsZSsweDE4OC8weDIyOA0K WyAgIDExLjgyOTE0MV0gIGtlcm5lbF9pbml0KzB4MTAvMHgxMDANClsgICAxMS44MzI2MTdd ICByZXRfZnJvbV9mb3JrKzB4MTAvMHgxOA0KWyAgIDExLjgzNjE4MV0gQ29kZTogOTAwMDkw ODEgOTM0MDdlODIgOTEyZWMwMjEgZjg2Mjc4MjEgKGY5NGE5ODIxKSANClsgICAxMS44NDIz MTZdIC0tLVsgZW5kIHRyYWNlIDZiNzQ3NjQ0NmY0Yjk1YWIgXS0tLQ0KWyAgIDExLjg0Njkz Nl0gS2VybmVsIHBhbmljIC0gbm90IHN5bmNpbmc6IEF0dGVtcHRlZCB0byBraWxsIGluaXQh IGV4aXRjb2RlPTB4MDAwMDAwMGINClsgICAxMS44NDY5MzZdIA0KWyAgIDExLjg1NjA3OV0g U01QOiBzdG9wcGluZyBzZWNvbmRhcnkgQ1BVcw0KWyAgIDExLjg2MDAyN10gLS0tWyBlbmQg S2VybmVsIHBhbmljIC0gbm90IHN5bmNpbmc6IEF0dGVtcHRlZCB0byBraWxsIGluaXQhIGV4 aXRjb2RlPTB4MDAwMDAwMGINClsgICAxMS44NjAwMjddIA0K --------------447B7BBA4D7452028F429870--