Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752767AbdHGJoS (ORCPT ); Mon, 7 Aug 2017 05:44:18 -0400 Received: from mx1.redhat.com ([209.132.183.28]:54718 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752367AbdHGJoP (ORCPT ); Mon, 7 Aug 2017 05:44:15 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 96A45C0587C6 Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=pbonzini@redhat.com Subject: Re: kvm_intel fails to load on Conroe CPUs running Linux 4.12 To: Sebastian Rachuj , rkrcmar@redhat.com, tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, x86@kernel.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org References: <27ee7b1f-0390-fca2-4b9c-cfea715328e9@web.de> From: Paolo Bonzini Message-ID: <596b1df7-7fec-4acf-f19a-67ed4e1ba150@redhat.com> Date: Mon, 7 Aug 2017 11:43:56 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <27ee7b1f-0390-fca2-4b9c-cfea715328e9@web.de> Content-Type: multipart/mixed; boundary="------------2522836428409A2825F945BF" Content-Language: en-US X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Mon, 07 Aug 2017 09:44:15 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 15044 Lines: 264 This is a multi-part message in MIME format. --------------2522836428409A2825F945BF Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit On 06/08/2017 23:23, Sebastian Rachuj wrote: > On 06.08.2017 23:10, Paolo Bonzini wrote: >> On 05/08/2017 21:26, Sebastian Rachuj wrote: >>> Dear linux developers, >>> >>> since my upgrade from linux 4.11 to linux 4.12 the "kvm_intel" module >>> does not load correctly anymore. "Modprobing" the kernel module gives an >>> Input/Output error. It seems to be related to the CPU architecture and >>> (to my knowledge) affects Conroe CPUs. I did a bisect and found the >>> following commit as the guilty one: >> >> What is your cpuinfo? I tested on a Conroe Xeon X3220 (family 6, >> model 15, stepping 11) when I posted that patch, and it did have virtual >> NMIs. > > Thank you for looking into the issue. My cpuinfo is as follows: Looks like Intel was already differentiating virtualization features across SKUs. Please run the attached script as root to see what other things are different (apparently) between non-Xeon and Xeon Conroes. Thanks, Paolo > $ cat /proc/cpuinfo > processor : 0 > vendor_id : GenuineIntel > cpu family : 6 > model : 15 > model name : Intel(R) Core(TM)2 CPU 6420 @ 2.13GHz > stepping : 6 > microcode : 0xc6 > cpu MHz : 2128.000 > cache size : 4096 KB > physical id : 0 > siblings : 2 > core id : 0 > cpu cores : 2 > apicid : 0 > initial apicid : 0 > fpu : yes > fpu_exception : yes > cpuid level : 10 > wp : yes > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca > cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall > nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf > pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm > tpr_shadow dtherm > bugs : > bogomips : 4275.23 > clflush size : 64 > cache_alignment : 64 > address sizes : 36 bits physical, 48 bits virtual > power management: > > processor : 1 > vendor_id : GenuineIntel > cpu family : 6 > model : 15 > model name : Intel(R) Core(TM)2 CPU 6420 @ 2.13GHz > stepping : 6 > microcode : 0xc6 > cpu MHz : 2128.000 > cache size : 4096 KB > physical id : 0 > siblings : 2 > core id : 1 > cpu cores : 2 > apicid : 1 > initial apicid : 1 > fpu : yes > fpu_exception : yes > cpuid level : 10 > wp : yes > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca > cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall > nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf > pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm > tpr_shadow dtherm > bugs : > bogomips : 4275.05 > clflush size : 64 > cache_alignment : 64 > address sizes : 36 bits physical, 48 bits virtual > power management: --------------2522836428409A2825F945BF Content-Type: text/plain; charset=UTF-8; name="vmxcap" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="vmxcap" IyEvdXNyL2Jpbi9weXRob24KIwojIHRvb2wgZm9yIHF1ZXJ5aW5nIFZNWCBjYXBhYmlsaXRp ZXMKIwojIENvcHlyaWdodCAyMDA5LTIwMTAgUmVkIEhhdCwgSW5jLgojCiMgQXV0aG9yczoK IyAgQXZpIEtpdml0eSA8YXZpQHJlZGhhdC5jb20+CiMKIyBUaGlzIHdvcmsgaXMgbGljZW5z ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR1BMLCB2ZXJzaW9uIDIuICBTZWUKIyB0 aGUgQ09QWUlORyBmaWxlIGluIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5LgoKTVNSX0lBMzJf Vk1YX0JBU0lDID0gMHg0ODAKTVNSX0lBMzJfVk1YX1BJTkJBU0VEX0NUTFMgPSAweDQ4MQpN U1JfSUEzMl9WTVhfUFJPQ0JBU0VEX0NUTFMgPSAweDQ4MgpNU1JfSUEzMl9WTVhfRVhJVF9D VExTID0gMHg0ODMKTVNSX0lBMzJfVk1YX0VOVFJZX0NUTFMgPSAweDQ4NApNU1JfSUEzMl9W TVhfTUlTQ19DVExTID0gMHg0ODUKTVNSX0lBMzJfVk1YX1BST0NCQVNFRF9DVExTMiA9IDB4 NDhCCk1TUl9JQTMyX1ZNWF9FUFRfVlBJRF9DQVAgPSAweDQ4QwpNU1JfSUEzMl9WTVhfVFJV RV9QSU5CQVNFRF9DVExTID0gMHg0OEQKTVNSX0lBMzJfVk1YX1RSVUVfUFJPQ0JBU0VEX0NU TFMgPSAweDQ4RQpNU1JfSUEzMl9WTVhfVFJVRV9FWElUX0NUTFMgPSAweDQ4RgpNU1JfSUEz Ml9WTVhfVFJVRV9FTlRSWV9DVExTID0gMHg0OTAKTVNSX0lBMzJfVk1YX1ZNRlVOQyA9IDB4 NDkxCgpjbGFzcyBtc3Iob2JqZWN0KToKICAgIGRlZiBfX2luaXRfXyhzZWxmKToKICAgICAg ICB0cnk6CiAgICAgICAgICAgIHNlbGYuZiA9IG9wZW4oJy9kZXYvY3B1LzAvbXNyJywgJ3Ji JywgMCkKICAgICAgICBleGNlcHQ6CiAgICAgICAgICAgIHNlbGYuZiA9IG9wZW4oJy9kZXYv bXNyMCcsICdyYicsIDApCiAgICBkZWYgcmVhZChzZWxmLCBpbmRleCwgZGVmYXVsdCA9IE5v bmUpOgogICAgICAgIGltcG9ydCBzdHJ1Y3QKICAgICAgICBzZWxmLmYuc2VlayhpbmRleCkK ICAgICAgICB0cnk6CiAgICAgICAgICAgIHJldHVybiBzdHJ1Y3QudW5wYWNrKCdRJywgc2Vs Zi5mLnJlYWQoOCkpWzBdCiAgICAgICAgZXhjZXB0OgogICAgICAgICAgICByZXR1cm4gZGVm YXVsdAoKY2xhc3MgQ29udHJvbChvYmplY3QpOgogICAgZGVmIF9faW5pdF9fKHNlbGYsIG5h bWUsIGJpdHMsIGNhcF9tc3IsIHRydWVfY2FwX21zciA9IE5vbmUpOgogICAgICAgIHNlbGYu bmFtZSA9IG5hbWUKICAgICAgICBzZWxmLmJpdHMgPSBiaXRzCiAgICAgICAgc2VsZi5jYXBf bXNyID0gY2FwX21zcgogICAgICAgIHNlbGYudHJ1ZV9jYXBfbXNyID0gdHJ1ZV9jYXBfbXNy CiAgICBkZWYgcmVhZDIoc2VsZiwgbnIpOgogICAgICAgIG0gPSBtc3IoKQogICAgICAgIHZh bCA9IG0ucmVhZChuciwgMCkKICAgICAgICByZXR1cm4gKHZhbCAmIDB4ZmZmZmZmZmYsIHZh bCA+PiAzMikKICAgIGRlZiBzaG93KHNlbGYpOgogICAgICAgIHByaW50KHNlbGYubmFtZSkK ICAgICAgICBtYnosIG1iMSA9IHNlbGYucmVhZDIoc2VsZi5jYXBfbXNyKQogICAgICAgIHRt YnosIHRtYjEgPSAwLCAwCiAgICAgICAgaWYgc2VsZi50cnVlX2NhcF9tc3I6CiAgICAgICAg ICAgIHRtYnosIHRtYjEgPSBzZWxmLnJlYWQyKHNlbGYudHJ1ZV9jYXBfbXNyKQogICAgICAg IGZvciBiaXQgaW4gc29ydGVkKHNlbGYuYml0cy5rZXlzKCkpOgogICAgICAgICAgICB6ZXJv ID0gbm90IChtYnogJiAoMSA8PCBiaXQpKQogICAgICAgICAgICBvbmUgPSBtYjEgJiAoMSA8 PCBiaXQpCiAgICAgICAgICAgIHRydWVfemVybyA9IG5vdCAodG1ieiAmICgxIDw8IGJpdCkp CiAgICAgICAgICAgIHRydWVfb25lID0gdG1iMSAmICgxIDw8IGJpdCkKICAgICAgICAgICAg cz0gJz8nCiAgICAgICAgICAgIGlmIChzZWxmLnRydWVfY2FwX21zciBhbmQgdHJ1ZV96ZXJv IGFuZCB0cnVlX29uZQogICAgICAgICAgICAgICAgYW5kIG9uZSBhbmQgbm90IHplcm8pOgog ICAgICAgICAgICAgICAgcyA9ICdkZWZhdWx0JwogICAgICAgICAgICBlbGlmIHplcm8gYW5k IG5vdCBvbmU6CiAgICAgICAgICAgICAgICBzID0gJ25vJwogICAgICAgICAgICBlbGlmIG9u ZSBhbmQgbm90IHplcm86CiAgICAgICAgICAgICAgICBzID0gJ2ZvcmNlZCcKICAgICAgICAg ICAgZWxpZiBvbmUgYW5kIHplcm86CiAgICAgICAgICAgICAgICBzID0gJ3llcycKICAgICAg ICAgICAgcHJpbnQoJyAgJS00MHMgJXMnICUgKHNlbGYuYml0c1tiaXRdLCBzKSkKCmNsYXNz IE1pc2Mob2JqZWN0KToKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBiaXRzLCBtc3Ip OgogICAgICAgIHNlbGYubmFtZSA9IG5hbWUKICAgICAgICBzZWxmLmJpdHMgPSBiaXRzCiAg ICAgICAgc2VsZi5tc3IgPSBtc3IKICAgIGRlZiBzaG93KHNlbGYpOgogICAgICAgIHByaW50 KHNlbGYubmFtZSkKICAgICAgICB2YWx1ZSA9IG1zcigpLnJlYWQoc2VsZi5tc3IsIDApCiAg ICAgICAgcHJpbnQoJyAgSGV4OiAweCV4JyAlICh2YWx1ZSkpCiAgICAgICAgZGVmIGZpcnN0 X2JpdChrZXkpOgogICAgICAgICAgICBpZiB0eXBlKGtleSkgaXMgdHVwbGU6CiAgICAgICAg ICAgICAgICByZXR1cm4ga2V5WzBdCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAg ICByZXR1cm4ga2V5CiAgICAgICAgZm9yIGJpdHMgaW4gc29ydGVkKHNlbGYuYml0cy5rZXlz KCksIGtleSA9IGZpcnN0X2JpdCk6CiAgICAgICAgICAgIGlmIHR5cGUoYml0cykgaXMgdHVw bGU6CiAgICAgICAgICAgICAgICBsbywgaGkgPSBiaXRzCiAgICAgICAgICAgICAgICBmbXQg PSBpbnQKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIGxvID0gaGkgPSBiaXRz CiAgICAgICAgICAgICAgICBkZWYgZm10KHgpOgogICAgICAgICAgICAgICAgICAgIHJldHVy biB7IFRydWU6ICd5ZXMnLCBGYWxzZTogJ25vJyB9W3hdCiAgICAgICAgICAgIHYgPSAodmFs dWUgPj4gbG8pICYgKCgxIDw8IChoaSAtIGxvICsgMSkpIC0gMSkKICAgICAgICAgICAgcHJp bnQoJyAgJS00MHMgJXMnICUgKHNlbGYuYml0c1tiaXRzXSwgZm10KHYpKSkKCmNvbnRyb2xz ID0gWwogICAgTWlzYygKICAgICAgICBuYW1lID0gJ0Jhc2ljIFZNWCBJbmZvcm1hdGlvbics CiAgICAgICAgYml0cyA9IHsKICAgICAgICAgICAgKDAsIDMwKTogJ1JldmlzaW9uJywKICAg ICAgICAgICAgKDMyLDQ0KTogJ1ZNQ1Mgc2l6ZScsCiAgICAgICAgICAgIDQ4OiAnVk1DUyBy ZXN0cmljdGVkIHRvIDMyIGJpdCBhZGRyZXNzZXMnLAogICAgICAgICAgICA0OTogJ0R1YWwt bW9uaXRvciBzdXBwb3J0JywKICAgICAgICAgICAgKDUwLCA1Myk6ICdWTUNTIG1lbW9yeSB0 eXBlJywKICAgICAgICAgICAgNTQ6ICdJTlMvT1VUUyBpbnN0cnVjdGlvbiBpbmZvcm1hdGlv bicsCiAgICAgICAgICAgIDU1OiAnSUEzMl9WTVhfVFJVRV8qX0NUTFMgc3VwcG9ydCcsCiAg ICAgICAgICAgIH0sCiAgICAgICAgbXNyID0gTVNSX0lBMzJfVk1YX0JBU0lDLAogICAgICAg ICksCiAgICBDb250cm9sKAogICAgICAgIG5hbWUgPSAncGluLWJhc2VkIGNvbnRyb2xzJywK ICAgICAgICBiaXRzID0gewogICAgICAgICAgICAwOiAnRXh0ZXJuYWwgaW50ZXJydXB0IGV4 aXRpbmcnLAogICAgICAgICAgICAzOiAnTk1JIGV4aXRpbmcnLAogICAgICAgICAgICA1OiAn VmlydHVhbCBOTUlzJywKICAgICAgICAgICAgNjogJ0FjdGl2YXRlIFZNWC1wcmVlbXB0aW9u IHRpbWVyJywKICAgICAgICAgICAgNzogJ1Byb2Nlc3MgcG9zdGVkIGludGVycnVwdHMnLAog ICAgICAgICAgICB9LAogICAgICAgIGNhcF9tc3IgPSBNU1JfSUEzMl9WTVhfUElOQkFTRURf Q1RMUywKICAgICAgICB0cnVlX2NhcF9tc3IgPSBNU1JfSUEzMl9WTVhfVFJVRV9QSU5CQVNF RF9DVExTLAogICAgICAgICksCgogICAgQ29udHJvbCgKICAgICAgICBuYW1lID0gJ3ByaW1h cnkgcHJvY2Vzc29yLWJhc2VkIGNvbnRyb2xzJywKICAgICAgICBiaXRzID0gewogICAgICAg ICAgICAyOiAnSW50ZXJydXB0IHdpbmRvdyBleGl0aW5nJywKICAgICAgICAgICAgMzogJ1Vz ZSBUU0Mgb2Zmc2V0dGluZycsCiAgICAgICAgICAgIDc6ICdITFQgZXhpdGluZycsCiAgICAg ICAgICAgIDk6ICdJTlZMUEcgZXhpdGluZycsCiAgICAgICAgICAgIDEwOiAnTVdBSVQgZXhp dGluZycsCiAgICAgICAgICAgIDExOiAnUkRQTUMgZXhpdGluZycsCiAgICAgICAgICAgIDEy OiAnUkRUU0MgZXhpdGluZycsCiAgICAgICAgICAgIDE1OiAnQ1IzLWxvYWQgZXhpdGluZycs CiAgICAgICAgICAgIDE2OiAnQ1IzLXN0b3JlIGV4aXRpbmcnLAogICAgICAgICAgICAxOTog J0NSOC1sb2FkIGV4aXRpbmcnLAogICAgICAgICAgICAyMDogJ0NSOC1zdG9yZSBleGl0aW5n JywKICAgICAgICAgICAgMjE6ICdVc2UgVFBSIHNoYWRvdycsCiAgICAgICAgICAgIDIyOiAn Tk1JLXdpbmRvdyBleGl0aW5nJywKICAgICAgICAgICAgMjM6ICdNT1YtRFIgZXhpdGluZycs CiAgICAgICAgICAgIDI0OiAnVW5jb25kaXRpb25hbCBJL08gZXhpdGluZycsCiAgICAgICAg ICAgIDI1OiAnVXNlIEkvTyBiaXRtYXBzJywKICAgICAgICAgICAgMjc6ICdNb25pdG9yIHRy YXAgZmxhZycsCiAgICAgICAgICAgIDI4OiAnVXNlIE1TUiBiaXRtYXBzJywKICAgICAgICAg ICAgMjk6ICdNT05JVE9SIGV4aXRpbmcnLAogICAgICAgICAgICAzMDogJ1BBVVNFIGV4aXRp bmcnLAogICAgICAgICAgICAzMTogJ0FjdGl2YXRlIHNlY29uZGFyeSBjb250cm9sJywKICAg ICAgICAgICAgfSwKICAgICAgICBjYXBfbXNyID0gTVNSX0lBMzJfVk1YX1BST0NCQVNFRF9D VExTLAogICAgICAgIHRydWVfY2FwX21zciA9IE1TUl9JQTMyX1ZNWF9UUlVFX1BST0NCQVNF RF9DVExTLAogICAgICAgICksCgogICAgQ29udHJvbCgKICAgICAgICBuYW1lID0gJ3NlY29u ZGFyeSBwcm9jZXNzb3ItYmFzZWQgY29udHJvbHMnLAogICAgICAgIGJpdHMgPSB7CiAgICAg ICAgICAgIDA6ICdWaXJ0dWFsaXplIEFQSUMgYWNjZXNzZXMnLAogICAgICAgICAgICAxOiAn RW5hYmxlIEVQVCcsCiAgICAgICAgICAgIDI6ICdEZXNjcmlwdG9yLXRhYmxlIGV4aXRpbmcn LAogICAgICAgICAgICAzOiAnRW5hYmxlIFJEVFNDUCcsCiAgICAgICAgICAgIDQ6ICdWaXJ0 dWFsaXplIHgyQVBJQyBtb2RlJywKICAgICAgICAgICAgNTogJ0VuYWJsZSBWUElEJywKICAg ICAgICAgICAgNjogJ1dCSU5WRCBleGl0aW5nJywKICAgICAgICAgICAgNzogJ1VucmVzdHJp Y3RlZCBndWVzdCcsCiAgICAgICAgICAgIDg6ICdBUElDIHJlZ2lzdGVyIGVtdWxhdGlvbics CiAgICAgICAgICAgIDk6ICdWaXJ0dWFsIGludGVycnVwdCBkZWxpdmVyeScsCiAgICAgICAg ICAgIDEwOiAnUEFVU0UtbG9vcCBleGl0aW5nJywKICAgICAgICAgICAgMTE6ICdSRFJBTkQg ZXhpdGluZycsCiAgICAgICAgICAgIDEyOiAnRW5hYmxlIElOVlBDSUQnLAogICAgICAgICAg ICAxMzogJ0VuYWJsZSBWTSBmdW5jdGlvbnMnLAogICAgICAgICAgICAxNDogJ1ZNQ1Mgc2hh ZG93aW5nJywKICAgICAgICAgICAgMTU6ICdFbmFibGUgRU5DTFMgZXhpdGluZycsCiAgICAg ICAgICAgIDE2OiAnUkRTRUVEIGV4aXRpbmcnLAogICAgICAgICAgICAxNzogJ0VuYWJsZSBQ TUwnLAogICAgICAgICAgICAxODogJ0VQVC12aW9sYXRpb24gI1ZFJywKICAgICAgICAgICAg MTk6ICdDb25jZWFsIG5vbi1yb290IG9wZXJhdGlvbiBmcm9tIFBUJywKICAgICAgICAgICAg MjA6ICdFbmFibGUgWFNBVkVTL1hSU1RPUlMnLAogICAgICAgICAgICAyMjogJ01vZGUtYmFz ZWQgZXhlY3V0ZSBjb250cm9sIChYUy9YVSknLAogICAgICAgICAgICAyNTogJ1RTQyBzY2Fs aW5nJywKICAgICAgICAgICAgfSwKICAgICAgICBjYXBfbXNyID0gTVNSX0lBMzJfVk1YX1BS T0NCQVNFRF9DVExTMiwKICAgICAgICApLAoKICAgIENvbnRyb2woCiAgICAgICAgbmFtZSA9 ICdWTS1FeGl0IGNvbnRyb2xzJywKICAgICAgICBiaXRzID0gewogICAgICAgICAgICAyOiAn U2F2ZSBkZWJ1ZyBjb250cm9scycsCiAgICAgICAgICAgIDk6ICdIb3N0IGFkZHJlc3Mtc3Bh Y2Ugc2l6ZScsCiAgICAgICAgICAgIDEyOiAnTG9hZCBJQTMyX1BFUkZfR0xPQkFMX0NUUkwn LAogICAgICAgICAgICAxNTogJ0Fja25vd2xlZGdlIGludGVycnVwdCBvbiBleGl0JywKICAg ICAgICAgICAgMTg6ICdTYXZlIElBMzJfUEFUJywKICAgICAgICAgICAgMTk6ICdMb2FkIElB MzJfUEFUJywKICAgICAgICAgICAgMjA6ICdTYXZlIElBMzJfRUZFUicsCiAgICAgICAgICAg IDIxOiAnTG9hZCBJQTMyX0VGRVInLAogICAgICAgICAgICAyMjogJ1NhdmUgVk1YLXByZWVt cHRpb24gdGltZXIgdmFsdWUnLAogICAgICAgICAgICAyMzogJ0NsZWFyIElBMzJfQk5EQ0ZH UycsCiAgICAgICAgICAgIDI0OiAnQ29uY2VhbCBWTSBleGl0cyBmcm9tIFBUJywKICAgICAg ICAgICAgfSwKICAgICAgICBjYXBfbXNyID0gTVNSX0lBMzJfVk1YX0VYSVRfQ1RMUywKICAg ICAgICB0cnVlX2NhcF9tc3IgPSBNU1JfSUEzMl9WTVhfVFJVRV9FWElUX0NUTFMsCiAgICAg ICAgKSwKCiAgICBDb250cm9sKAogICAgICAgIG5hbWUgPSAnVk0tRW50cnkgY29udHJvbHMn LAogICAgICAgIGJpdHMgPSB7CiAgICAgICAgICAgIDI6ICdMb2FkIGRlYnVnIGNvbnRyb2xz JywKICAgICAgICAgICAgOTogJ0lBLTMyZSBtb2RlIGd1ZXN0JywKICAgICAgICAgICAgMTA6 ICdFbnRyeSB0byBTTU0nLAogICAgICAgICAgICAxMTogJ0RlYWN0aXZhdGUgZHVhbC1tb25p dG9yIHRyZWF0bWVudCcsCiAgICAgICAgICAgIDEzOiAnTG9hZCBJQTMyX1BFUkZfR0xPQkFM X0NUUkwnLAogICAgICAgICAgICAxNDogJ0xvYWQgSUEzMl9QQVQnLAogICAgICAgICAgICAx NTogJ0xvYWQgSUEzMl9FRkVSJywKICAgICAgICAgICAgMTY6ICdMb2FkIElBMzJfQk5EQ0ZH UycsCiAgICAgICAgICAgIDE3OiAnQ29uY2VhbCBWTSBlbnRyaWVzIGZyb20gUFQnLAogICAg ICAgICAgICB9LAogICAgICAgIGNhcF9tc3IgPSBNU1JfSUEzMl9WTVhfRU5UUllfQ1RMUywK ICAgICAgICB0cnVlX2NhcF9tc3IgPSBNU1JfSUEzMl9WTVhfVFJVRV9FTlRSWV9DVExTLAog ICAgICAgICksCgogICAgTWlzYygKICAgICAgICBuYW1lID0gJ01pc2NlbGxhbmVvdXMgZGF0 YScsCiAgICAgICAgYml0cyA9IHsKICAgICAgICAgICAgKDAsNCk6ICdWTVgtcHJlZW1wdGlv biB0aW1lciBzY2FsZSAobG9nMiknLAogICAgICAgICAgICA1OiAnU3RvcmUgRUZFUi5MTUEg aW50byBJQS0zMmUgbW9kZSBndWVzdCBjb250cm9sJywKICAgICAgICAgICAgNjogJ0hMVCBh Y3Rpdml0eSBzdGF0ZScsCiAgICAgICAgICAgIDc6ICdTaHV0ZG93biBhY3Rpdml0eSBzdGF0 ZScsCiAgICAgICAgICAgIDg6ICdXYWl0LWZvci1TSVBJIGFjdGl2aXR5IHN0YXRlJywKICAg ICAgICAgICAgMTU6ICdJQTMyX1NNQkFTRSBzdXBwb3J0JywKICAgICAgICAgICAgKDE2LDI0 KTogJ051bWJlciBvZiBDUjMtdGFyZ2V0IHZhbHVlcycsCiAgICAgICAgICAgICgyNSwyNyk6 ICdNU1ItbG9hZC9zdG9yZSBjb3VudCByZWNvbW1lbmRhdGlvbicsCiAgICAgICAgICAgIDI4 OiAnSUEzMl9TTU1fTU9OSVRPUl9DVExbMl0gY2FuIGJlIHNldCB0byAxJywKICAgICAgICAg ICAgMjk6ICdWTVdSSVRFIHRvIFZNLWV4aXQgaW5mb3JtYXRpb24gZmllbGRzJywKICAgICAg ICAgICAgMzA6ICdJbmplY3QgZXZlbnQgd2l0aCBpbnNuIGxlbmd0aD0wJywKICAgICAgICAg ICAgKDMyLDYzKTogJ01TRUcgcmV2aXNpb24gaWRlbnRpZmllcicsCiAgICAgICAgICAgIH0s CiAgICAgICAgbXNyID0gTVNSX0lBMzJfVk1YX01JU0NfQ1RMUywKICAgICAgICApLAoKICAg IE1pc2MoCiAgICAgICAgbmFtZSA9ICdWUElEIGFuZCBFUFQgY2FwYWJpbGl0aWVzJywKICAg ICAgICBiaXRzID0gewogICAgICAgICAgICAwOiAnRXhlY3V0ZS1vbmx5IEVQVCB0cmFuc2xh dGlvbnMnLAogICAgICAgICAgICA2OiAnUGFnZS13YWxrIGxlbmd0aCA0JywKICAgICAgICAg ICAgODogJ1BhZ2luZy1zdHJ1Y3R1cmUgbWVtb3J5IHR5cGUgVUMnLAogICAgICAgICAgICAx NDogJ1BhZ2luZy1zdHJ1Y3R1cmUgbWVtb3J5IHR5cGUgV0InLAogICAgICAgICAgICAxNjog JzJNQiBFUFQgcGFnZXMnLAogICAgICAgICAgICAxNzogJzFHQiBFUFQgcGFnZXMnLAogICAg ICAgICAgICAyMDogJ0lOVkVQVCBzdXBwb3J0ZWQnLAogICAgICAgICAgICAyMTogJ0VQVCBh Y2Nlc3NlZCBhbmQgZGlydHkgZmxhZ3MnLAogICAgICAgICAgICAyNTogJ1NpbmdsZS1jb250 ZXh0IElOVkVQVCcsCiAgICAgICAgICAgIDI2OiAnQWxsLWNvbnRleHQgSU5WRVBUJywKICAg ICAgICAgICAgMzI6ICdJTlZWUElEIHN1cHBvcnRlZCcsCiAgICAgICAgICAgIDQwOiAnSW5k aXZpZHVhbC1hZGRyZXNzIElOVlZQSUQnLAogICAgICAgICAgICA0MTogJ1NpbmdsZS1jb250 ZXh0IElOVlZQSUQnLAogICAgICAgICAgICA0MjogJ0FsbC1jb250ZXh0IElOVlZQSUQnLAog ICAgICAgICAgICA0MzogJ1NpbmdsZS1jb250ZXh0LXJldGFpbmluZy1nbG9iYWxzIElOVlZQ SUQnLAogICAgICAgICAgICB9LAogICAgICAgIG1zciA9IE1TUl9JQTMyX1ZNWF9FUFRfVlBJ RF9DQVAsCiAgICAgICAgKSwKICAgIE1pc2MoCiAgICAgICAgbmFtZSA9ICdWTSBGdW5jdGlv bnMnLAogICAgICAgIGJpdHMgPSB7CiAgICAgICAgICAgIDA6ICdFUFRQIFN3aXRjaGluZycs CiAgICAgICAgICAgIH0sCiAgICAgICAgbXNyID0gTVNSX0lBMzJfVk1YX1ZNRlVOQywKICAg ICAgICApLAogICAgXQoKZm9yIGMgaW4gY29udHJvbHM6CiAgICBjLnNob3coKQo= --------------2522836428409A2825F945BF--