From mboxrd@z Thu Jan 1 00:00:00 1970 From: plcmn Subject: Strange bug in alsa-lib Date: Mon, 19 Jan 2015 00:21:13 +0300 Message-ID: <54BC23C9.8000001@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------040108010603000200090309" Return-path: Received: from mail-la0-f44.google.com (mail-la0-f44.google.com [209.85.215.44]) by alsa0.perex.cz (Postfix) with ESMTP id 4CE8A260483 for ; Sun, 18 Jan 2015 22:21:05 +0100 (CET) Received: by mail-la0-f44.google.com with SMTP id hz20so3557631lab.3 for ; Sun, 18 Jan 2015 13:21:03 -0800 (PST) Received: from ?IPv6:2001:0:53aa:64c:3c29:2deb:b1db:bbdb? ([2001:0:53aa:64c:3c29:2deb:b1db:bbdb]) by mx.google.com with ESMTPSA id kw10sm3132511lac.45.2015.01.18.13.21.00 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 18 Jan 2015 13:21:02 -0800 (PST) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org This is a multi-part message in MIME format. --------------040108010603000200090309 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Greetings everyone! I'm sorry in advance for my poor English. Unfortunately your bugtracker is down so I've had to send this bug report (or description, huh) here. Alsa information about my system is in the attachments. I've came across this bug a few days ago, it appeared since I've installed alsa. Everytime when I try to quickly change the volume on Master channel the sound brakes: alsamixer hangs up and some music players (for example, Music on Console) play music by fits and starts (it's similar to watching hd video on a slow connection). Some music players, for example DeadBeeF, or browsers, such as Chromium work quite normal. I've searched forums, but I didn't come across anyone with a similar problem. So, I've decided to do a little research to find out what caused the problems. I've started with a simple script: plcmn@equestria:~$ cat test.sh export i=0 while [ $i -lt 80 ] do amixer set Master $i% let i=$(($i+1)) done Here are the results of the execution before the bug appears: plcmn@equestria:~$ time ./test.sh real 0m0.743s user 0m0.350s sys 0m0.203s And this how it looks like when the bug comes out (I've just launched this script two times in a row): plcmn@equestria~$ time test.sh real 4m41.763s user 0m0.607s sys 0m12.037s That looked really weird, so I've tried to figure out what caused the problem. Checking the source with cppcheck didn't gave any results, except some memory leaks (like [src/rawmidi/rawmidi_hw.c:304]: (error) Memory leak: hw), but none of them referred to my problem. So I've digged into the code and found out the line that caused the error: --- From src/control/control_hw.c: 193 if (ioctl(hw->fd, SNDRV_CTL_IOCTL_ELEM_WRITE, control) < 0) { --- I'm a dummy in system programming, so I can't exactly tell what's the problem with this line (I know ioctl's purpose, but I don't what to do next -- a mess of macros and structures were hard for understanding, so I stopped at this point). The delay measured by clock() from time.h was about 0.18 ms here. Here is gdb's output for arguments passed to the problematic function: Breakpoint 2, snd_ctl_hw_elem_write (handle=, control=0x7fffffffd9e0) at control_hw.c:193 (gdb) n 194 snd_ctl_hw_t *hw = handle->private_data; (gdb) p handle $2 = (gdb) p control $3 = (snd_ctl_elem_value_t *) 0x7fffffffd9e0 (gdb) p control->id $4 = {numid = 16, iface = 2, device = 0, subdevice = 0, name = "Master Playback Volume", '\000' , index = 0} (gdb) p control->indirect $5 = 0 (gdb) p control->reserved $6 = '\000' (gdb) p control->tstamp $7 = {tv_sec = 0, tv_nsec = 0} (gdb) p control->value $8 = {integer = {value = {70, 0 }, value_ptr = 0x46}, integer64 = {value = {70, 0 }, value_ptr = 0x46}, enumerated = {item = {70, 0 }, item_ptr = 0x46}, bytes = {data = "F", '\000' , data_ptr = 0x46 }, iec958 = {status = "F", '\000' , subcode = '\000' , pad = 0 '\000', dig_subframe = "\000\000\000"}} For some reason this function is called twice, the second call doesn't cause such a delay. I can provide any information you'll need. I hope that my report will be useful. Sorry again for my poor English and sending a bug report to dev mail lists. --------------040108010603000200090309 Content-Type: text/plain; charset=UTF-8; name="alsa-info.txt.s2V9dNgWdR" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="alsa-info.txt.s2V9dNgWdR" dXBsb2FkPXRydWUmc2NyaXB0PXRydWUmY2FyZGluZm89CiEhIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKISFBTFNBIEluZm9ybWF0aW9uIFNjcmlwdCB2IDAuNC42NAohISMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgohIVNjcmlwdCByYW4gb246IFN1biBK YW4gMTggMTU6MzA6MDcgVVRDIDIwMTUKCgohIUxpbnV4IERpc3RyaWJ1dGlvbgohIS0tLS0t LS0tLS0tLS0tLS0tLQoKQXJjaCBMaW51eCBcciAoXGwpIE5BTUU9IkFyY2ggTGludXgiIElE PWFyY2ggUFJFVFRZX05BTUU9IkFyY2ggTGludXgiIEhPTUVfVVJMPSJodHRwczovL3d3dy5h cmNobGludXgub3JnLyIgU1VQUE9SVF9VUkw9Imh0dHBzOi8vYmJzLmFyY2hsaW51eC5vcmcv IiBCVUdfUkVQT1JUX1VSTD0iaHR0cHM6Ly9idWdzLmFyY2hsaW51eC5vcmcvIgoKCiEhRE1J IEluZm9ybWF0aW9uCiEhLS0tLS0tLS0tLS0tLS0tCgpNYW51ZmFjdHVyZXI6ICAgICAgRGVs bCBJbmMuClByb2R1Y3QgTmFtZTogICAgICBJbnNwaXJvbiAzMTM1ClByb2R1Y3QgVmVyc2lv bjogICAKRmlybXdhcmUgVmVyc2lvbjogIEEwMgoKCiEhS2VybmVsIEluZm9ybWF0aW9uCiEh LS0tLS0tLS0tLS0tLS0tLS0tCgpLZXJuZWwgcmVsZWFzZTogICAgMy4xOC4yLTItQVJDSApP cGVyYXRpbmcgU3lzdGVtOiAgR05VL0xpbnV4CkFyY2hpdGVjdHVyZTogICAgICB4ODZfNjQK UHJvY2Vzc29yOiAgICAgICAgIHVua25vd24KU01QIEVuYWJsZWQ6ICAgICAgIFllcwoKCiEh QUxTQSBWZXJzaW9uCiEhLS0tLS0tLS0tLS0tCgpEcml2ZXIgdmVyc2lvbjogICAgIGszLjE4 LjItMi1BUkNICkxpYnJhcnkgdmVyc2lvbjogICAgMS4wLjI4ClV0aWxpdGllcyB2ZXJzaW9u OiAgMS4wLjI4CgoKISFMb2FkZWQgQUxTQSBtb2R1bGVzCiEhLS0tLS0tLS0tLS0tLS0tLS0t LQoKc25kX2hkYV9pbnRlbApzbmRfaGRhX2ludGVsCgoKISFTb3VuZCBTZXJ2ZXJzIG9uIHRo aXMgc3lzdGVtCiEhLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKSmFjazoKICAgICAg SW5zdGFsbGVkIC0gWWVzICgvdXNyL2Jpbi9qYWNrZCkKICAgICAgUnVubmluZyAtIE5vCgoK ISFTb3VuZGNhcmRzIHJlY29nbmlzZWQgYnkgQUxTQQohIS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCgogMCBbR2VuZXJpYyAgICAgICAgXTogSERBLUludGVsIC0gSEQtQXVkaW8g R2VuZXJpYwogICAgICAgICAgICAgICAgICAgICAgSEQtQXVkaW8gR2VuZXJpYyBhdCAweGYw MjQwMDAwIGlycSAzNwogMSBbR2VuZXJpY18xICAgICAgXTogSERBLUludGVsIC0gSEQtQXVk aW8gR2VuZXJpYwogICAgICAgICAgICAgICAgICAgICAgSEQtQXVkaW8gR2VuZXJpYyBhdCAw eGYwMjQ0MDAwIGlycSAzOAoKCiEhUENJIFNvdW5kY2FyZHMgaW5zdGFsbGVkIGluIHRoZSBz eXN0ZW0KISEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKMDA6MDEu MSBBdWRpbyBkZXZpY2U6IEFkdmFuY2VkIE1pY3JvIERldmljZXMsIEluYy4gW0FNRC9BVEld IEthYmluaSBIRE1JL0RQIEF1ZGlvCjAwOjE0LjIgQXVkaW8gZGV2aWNlOiBBZHZhbmNlZCBN aWNybyBEZXZpY2VzLCBJbmMuIFtBTURdIEZDSCBBemFsaWEgQ29udHJvbGxlciAocmV2IDAy KQoKCiEhQWR2YW5jZWQgaW5mb3JtYXRpb24gLSBQQ0kgVmVuZG9yL0RldmljZS9TdWJzeXN0 ZW0gSUQncwohIS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KCjAwOjAxLjEgMDQwMzogMTAwMjo5ODQwCglTdWJzeXN0ZW06IDEwMjg6 MDYxNAotLQowMDoxNC4yIDA0MDM6IDEwMjI6NzgwZCAocmV2IDAyKQoJU3Vic3lzdGVtOiAx MDI4OjA2MTQKCgohIU1vZHByb2JlIG9wdGlvbnMgKFNvdW5kIHJlbGF0ZWQpCiEhLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCnNuZF9oZGFfaW50ZWw6IG1vZGVsPWF1dG8K CgohIUxvYWRlZCBzb3VuZCBtb2R1bGUgb3B0aW9ucwohIS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQoKISFNb2R1bGU6IHNuZF9oZGFfaW50ZWwKCWFsaWduX2J1ZmZlcl9zaXplIDog LTEKCWJkbF9wb3NfYWRqIDogMzIsMzIsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEs LTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEs LTEsLTEKCWJlZXBfbW9kZSA6IFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZ LFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWQoJZW5hYmxlIDogWSxZLFksWSxZLFksWSxZ LFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZCgllbmFi bGVfbXNpIDogLTEKCWlkIDogKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwo bnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwp LChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVs bCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChu dWxsKSwobnVsbCksKG51bGwpLChudWxsKQoJaW5kZXggOiAtMSwtMSwtMSwtMSwtMSwtMSwt MSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwtMSwt MSwtMSwtMSwtMSwtMSwtMSwtMSwtMQoJamFja3BvbGxfbXMgOiAwLDAsMCwwLDAsMCwwLDAs MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKCW1vZGVs IDogYXV0bywobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVs bCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChu dWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCks KG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxs KSwobnVsbCkKCXBhdGNoIDogKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwo bnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwp LChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVs bCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChu dWxsKSwobnVsbCksKG51bGwpLChudWxsKQoJcG9zaXRpb25fZml4IDogLTEsLTEsLTEsLTEs LTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEs LTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEKCXBvd2VyX3NhdmUgOiAwCglwb3dlcl9z YXZlX2NvbnRyb2xsZXIgOiBZCglwcm9iZV9tYXNrIDogLTEsLTEsLTEsLTEsLTEsLTEsLTEs LTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEs LTEsLTEsLTEsLTEsLTEsLTEsLTEKCXByb2JlX29ubHkgOiAwLDAsMCwwLDAsMCwwLDAsMCww LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAKCXNpbmdsZV9j bWQgOiBOCglzbm9vcCA6IFkKCiEhTW9kdWxlOiBzbmRfaGRhX2ludGVsCglhbGlnbl9idWZm ZXJfc2l6ZSA6IC0xCgliZGxfcG9zX2FkaiA6IDMyLDMyLC0xLC0xLC0xLC0xLC0xLC0xLC0x LC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0x LC0xLC0xLC0xLC0xLC0xCgliZWVwX21vZGUgOiBZLFksWSxZLFksWSxZLFksWSxZLFksWSxZ LFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFkKCWVuYWJsZSA6IFksWSxZ LFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZLFksWSxZ LFksWQoJZW5hYmxlX21zaSA6IC0xCglpZCA6IChudWxsKSwobnVsbCksKG51bGwpLChudWxs KSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51 bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwo bnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwp LChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCkKCWluZGV4IDogLTEsLTEsLTEs LTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEs LTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEsLTEKCWphY2twb2xsX21zIDogMCwwLDAs MCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAs MCwwCgltb2RlbCA6IGF1dG8sKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwo bnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwp LChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVs bCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChu dWxsKSwobnVsbCksKG51bGwpCglwYXRjaCA6IChudWxsKSwobnVsbCksKG51bGwpLChudWxs KSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51 bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwo bnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCksKG51bGwp LChudWxsKSwobnVsbCksKG51bGwpLChudWxsKSwobnVsbCkKCXBvc2l0aW9uX2ZpeCA6IC0x LC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0x LC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xCglwb3dlcl9zYXZlIDog MAoJcG93ZXJfc2F2ZV9jb250cm9sbGVyIDogWQoJcHJvYmVfbWFzayA6IC0xLC0xLC0xLC0x LC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0x LC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xLC0xCglwcm9iZV9vbmx5IDogMCwwLDAsMCww LDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCww CglzaW5nbGVfY21kIDogTgoJc25vb3AgOiBZCgoKISFIREEtSW50ZWwgQ29kZWMgaW5mb3Jt YXRpb24KISEtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLS1zdGFydGNvbGxhcHNlLS0K CkNvZGVjOiBBVEkgUjZ4eCBIRE1JCkFkZHJlc3M6IDAKQUZHIEZ1bmN0aW9uIElkOiAweDEg KHVuc29sIDApClZlbmRvciBJZDogMHgxMDAyYWEwMQpTdWJzeXN0ZW0gSWQ6IDB4MDBhYTAx MDAKUmV2aXNpb24gSWQ6IDB4MTAwNTAwCk5vIE1vZGVtIEZ1bmN0aW9uIEdyb3VwIGZvdW5k CkRlZmF1bHQgUENNOgogICAgcmF0ZXMgWzB4NzBdOiAzMjAwMCA0NDEwMCA0ODAwMAogICAg Yml0cyBbMHgyXTogMTYKICAgIGZvcm1hdHMgWzB4MV06IFBDTQpEZWZhdWx0IEFtcC1JbiBj YXBzOiBOL0EKRGVmYXVsdCBBbXAtT3V0IGNhcHM6IE4vQQpTdGF0ZSBvZiBBRkcgbm9kZSAw eDAxOgogIFBvd2VyIHN0YXRlczogIEQwIEQzIENMS1NUT1AgRVBTUwogIFBvd2VyOiBzZXR0 aW5nPUQwLCBhY3R1YWw9RDAsIENsb2NrLXN0b3AtT0sKR1BJTzogaW89MCwgbz0wLCBpPTAs IHVuc29saWNpdGVkPTAsIHdha2U9MApOb2RlIDB4MDIgW0F1ZGlvIE91dHB1dF0gd2NhcHMg MHgyMjE6IFN0ZXJlbyBEaWdpdGFsIFN0cmlwZQogIENvbnZlcnRlcjogc3RyZWFtPTAsIGNo YW5uZWw9MAogIERpZ2l0YWw6CiAgRGlnaXRhbCBjYXRlZ29yeTogMHgwCiAgSUVDIENvZGlu ZyBUeXBlOiAweDAKTm9kZSAweDAzIFtQaW4gQ29tcGxleF0gd2NhcHMgMHg0MDAzODE6IFN0 ZXJlbyBEaWdpdGFsCiAgQ29udHJvbDogbmFtZT0iSERNSS9EUCxwY209MyBKYWNrIiwgaW5k ZXg9MCwgZGV2aWNlPTAKICBDb250cm9sOiBuYW1lPSJJRUM5NTggUGxheWJhY2sgQ29uIE1h c2siLCBpbmRleD0wLCBkZXZpY2U9MAogIENvbnRyb2w6IG5hbWU9IklFQzk1OCBQbGF5YmFj ayBQcm8gTWFzayIsIGluZGV4PTAsIGRldmljZT0wCiAgQ29udHJvbDogbmFtZT0iSUVDOTU4 IFBsYXliYWNrIERlZmF1bHQiLCBpbmRleD0wLCBkZXZpY2U9MAogIENvbnRyb2w6IG5hbWU9 IklFQzk1OCBQbGF5YmFjayBTd2l0Y2giLCBpbmRleD0wLCBkZXZpY2U9MAogIENvbnRyb2w6 IG5hbWU9IkVMRCIsIGluZGV4PTAsIGRldmljZT0zCiAgUGluY2FwIDB4MDAwMDAwOTQ6IE9V VCBEZXRlY3QgSERNSQogIFBpbiBEZWZhdWx0IDB4MTg1NjAwZjA6IFtKYWNrXSBEaWdpdGFs IE91dCBhdCBJbnQgSERNSQogICAgQ29ubiA9IERpZ2l0YWwsIENvbG9yID0gVW5rbm93bgog ICAgRGVmQXNzb2NpYXRpb24gPSAweGYsIFNlcXVlbmNlID0gMHgwCiAgUGluLWN0bHM6IDB4 NDA6IE9VVAogIFVuc29saWNpdGVkOiB0YWc9MDEsIGVuYWJsZWQ9MQogIENvbm5lY3Rpb246 IDEKICAgICAweDAyCk5vZGUgMHgwNCBbQXVkaW8gT3V0cHV0XSB3Y2FwcyAweDIyMTogU3Rl cmVvIERpZ2l0YWwgU3RyaXBlCiAgQ29udmVydGVyOiBzdHJlYW09MCwgY2hhbm5lbD0wCiAg RGlnaXRhbDoKICBEaWdpdGFsIGNhdGVnb3J5OiAweDAKICBJRUMgQ29kaW5nIFR5cGU6IDB4 MApOb2RlIDB4MDUgW1BpbiBDb21wbGV4XSB3Y2FwcyAweDQwMDM4MTogU3RlcmVvIERpZ2l0 YWwKICBQaW5jYXAgMHgwMDAwMDA5NDogT1VUIERldGVjdCBIRE1JCiAgUGluIERlZmF1bHQg MHg1ODU2MDBmMDogW04vQV0gRGlnaXRhbCBPdXQgYXQgSW50IEhETUkKICAgIENvbm4gPSBE aWdpdGFsLCBDb2xvciA9IFVua25vd24KICAgIERlZkFzc29jaWF0aW9uID0gMHhmLCBTZXF1 ZW5jZSA9IDB4MAogIFBpbi1jdGxzOiAweDQwOiBPVVQKICBVbnNvbGljaXRlZDogdGFnPTAw LCBlbmFibGVkPTAKICBDb25uZWN0aW9uOiAxCiAgICAgMHgwNApOb2RlIDB4MDYgW0F1ZGlv IE91dHB1dF0gd2NhcHMgMHgyMjE6IFN0ZXJlbyBEaWdpdGFsIFN0cmlwZQogIENvbnZlcnRl cjogc3RyZWFtPTAsIGNoYW5uZWw9MAogIERpZ2l0YWw6CiAgRGlnaXRhbCBjYXRlZ29yeTog MHgwCiAgSUVDIENvZGluZyBUeXBlOiAweDAKTm9kZSAweDA3IFtQaW4gQ29tcGxleF0gd2Nh cHMgMHg0MDAzODE6IFN0ZXJlbyBEaWdpdGFsCiAgUGluY2FwIDB4MDAwMDAwOTQ6IE9VVCBE ZXRlY3QgSERNSQogIFBpbiBEZWZhdWx0IDB4NTg1NjAwZjA6IFtOL0FdIERpZ2l0YWwgT3V0 IGF0IEludCBIRE1JCiAgICBDb25uID0gRGlnaXRhbCwgQ29sb3IgPSBVbmtub3duCiAgICBE ZWZBc3NvY2lhdGlvbiA9IDB4ZiwgU2VxdWVuY2UgPSAweDAKICBQaW4tY3RsczogMHg0MDog T1VUCiAgVW5zb2xpY2l0ZWQ6IHRhZz0wMCwgZW5hYmxlZD0wCiAgQ29ubmVjdGlvbjogMQog ICAgIDB4MDYKQ29kZWM6IFJlYWx0ZWsgQUxDMzIyMwpBZGRyZXNzOiAwCkFGRyBGdW5jdGlv biBJZDogMHgxICh1bnNvbCAxKQpWZW5kb3IgSWQ6IDB4MTBlYzAyODMKU3Vic3lzdGVtIElk OiAweDEwMjgwNjE0ClJldmlzaW9uIElkOiAweDEwMDAwMwpObyBNb2RlbSBGdW5jdGlvbiBH cm91cCBmb3VuZApEZWZhdWx0IFBDTToKTi9BCkRlZmF1bHQgQW1wLUluIGNhcHM6IE4vQQpE ZWZhdWx0IEFtcC1PdXQgY2FwczogTi9BClN0YXRlIG9mIEFGRyBub2RlIDB4MDE6CiAgUG93 ZXI6IHNldHRpbmc9VU5LTk9XTiwgYWN0dWFsPVVOS05PV04sIEVycm9yLCBDbG9jay1zdG9w LU9LLCBTZXR0aW5nLXJlc2V0CkdQSU86IGlvPTI1NSwgbz0yNTUsIGk9MjU1LCB1bnNvbGlj aXRlZD0xLCB3YWtlPTEKLS1lbmRjb2xsYXBzZS0tCgoKISFBTFNBIERldmljZSBub2Rlcwoh IS0tLS0tLS0tLS0tLS0tLS0tCgpjcnctcnctLS0tKyAxIHJvb3QgYXVkaW8gMTE2LCAgMiBK YW4gMTYgMDA6MjcgL2Rldi9zbmQvY29udHJvbEMwCmNydy1ydy0tLS0rIDEgcm9vdCBhdWRp byAxMTYsICA1IEphbiAxNiAwMDoyNyAvZGV2L3NuZC9jb250cm9sQzEKY3J3LXJ3LS0tLSsg MSByb290IGF1ZGlvIDExNiwgIDQgSmFuIDE2IDAwOjI3IC9kZXYvc25kL2h3QzBEMApjcnct cnctLS0tKyAxIHJvb3QgYXVkaW8gMTE2LCAgOCBKYW4gMTYgMDA6MjcgL2Rldi9zbmQvaHdD MUQwCmNydy1ydy0tLS0rIDEgcm9vdCBhdWRpbyAxMTYsICAzIEphbiAxNiAwMDoyNyAvZGV2 L3NuZC9wY21DMEQzcApjcnctcnctLS0tKyAxIHJvb3QgYXVkaW8gMTE2LCAgNyBKYW4gMTYg MDA6MjcgL2Rldi9zbmQvcGNtQzFEMGMKY3J3LXJ3LS0tLSsgMSByb290IGF1ZGlvIDExNiwg IDYgSmFuIDE4IDE4OjIxIC9kZXYvc25kL3BjbUMxRDBwCmNydy1ydy0tLS0rIDEgcm9vdCBh dWRpbyAxMTYsICAxIEphbiAxNiAwMDoyNyAvZGV2L3NuZC9zZXEKY3J3LXJ3LS0tLSsgMSBy b290IGF1ZGlvIDExNiwgMzMgSmFuIDE2IDAwOjI3IC9kZXYvc25kL3RpbWVyCgovZGV2L3Nu ZC9ieS1wYXRoOgp0b3RhbCAwCmRyd3hyLXhyLXggMiByb290IHJvb3QgIDgwIEphbiAxNiAw MDoyNyAuCmRyd3hyLXhyLXggMyByb290IHJvb3QgMjQwIEphbiAxNiAwMDoyNyAuLgpscnd4 cnd4cnd4IDEgcm9vdCByb290ICAxMiBKYW4gMTYgMDA6MjcgcGNpLTAwMDA6MDA6MDEuMSAt PiAuLi9jb250cm9sQzAKbHJ3eHJ3eHJ3eCAxIHJvb3Qgcm9vdCAgMTIgSmFuIDE2IDAwOjI3 IHBjaS0wMDAwOjAwOjE0LjIgLT4gLi4vY29udHJvbEMxCgoKISFBcGxheS9BcmVjb3JkIG91 dHB1dAohIS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpBUExBWQoKKioqKiBMaXN0IG9mIFBMQVlC QUNLIEhhcmR3YXJlIERldmljZXMgKioqKgpjYXJkIDA6IEdlbmVyaWMgW0hELUF1ZGlvIEdl bmVyaWNdLCBkZXZpY2UgMzogSERNSSAwIFtIRE1JIDBdCiAgU3ViZGV2aWNlczogMS8xCiAg U3ViZGV2aWNlICMwOiBzdWJkZXZpY2UgIzAKY2FyZCAxOiBHZW5lcmljXzEgW0hELUF1ZGlv IEdlbmVyaWNdLCBkZXZpY2UgMDogQUxDMzIyMyBBbmFsb2cgW0FMQzMyMjMgQW5hbG9nXQog IFN1YmRldmljZXM6IDEvMQogIFN1YmRldmljZSAjMDogc3ViZGV2aWNlICMwCgpBUkVDT1JE CgoqKioqIExpc3Qgb2YgQ0FQVFVSRSBIYXJkd2FyZSBEZXZpY2VzICoqKioKY2FyZCAxOiBH ZW5lcmljXzEgW0hELUF1ZGlvIEdlbmVyaWNdLCBkZXZpY2UgMDogQUxDMzIyMyBBbmFsb2cg W0FMQzMyMjMgQW5hbG9nXQogIFN1YmRldmljZXM6IDEvMQogIFN1YmRldmljZSAjMDogc3Vi ZGV2aWNlICMwCgohIUFtaXhlciBvdXRwdXQKISEtLS0tLS0tLS0tLS0tCgohIS0tLS0tLS1N aXhlciBjb250cm9scyBmb3IgY2FyZCAwIFtHZW5lcmljXQoKQ2FyZCBodzowICdHZW5lcmlj Jy8nSEQtQXVkaW8gR2VuZXJpYyBhdCAweGYwMjQwMDAwIGlycSAzNycKICBNaXhlciBuYW1l CTogJ0FUSSBSNnh4IEhETUknCiAgQ29tcG9uZW50cwk6ICdIREE6MTAwMmFhMDEsMDBhYTAx MDAsMDAxMDA1MDAnCiAgQ29udHJvbHMgICAgICA6IDcKICBTaW1wbGUgY3RybHMgIDogMQpT aW1wbGUgbWl4ZXIgY29udHJvbCAnSUVDOTU4JywwCiAgQ2FwYWJpbGl0aWVzOiBwc3dpdGNo IHBzd2l0Y2gtam9pbmVkCiAgUGxheWJhY2sgY2hhbm5lbHM6IE1vbm8KICBNb25vOiBQbGF5 YmFjayBbb25dCgohIS0tLS0tLS1NaXhlciBjb250cm9scyBmb3IgY2FyZCAxIFtHZW5lcmlj XzFdCgpDYXJkIGh3OjEgJ0dlbmVyaWNfMScvJ0hELUF1ZGlvIEdlbmVyaWMgYXQgMHhmMDI0 NDAwMCBpcnEgMzgnCiAgTWl4ZXIgbmFtZQk6ICdSZWFsdGVrIEFMQzMyMjMnCiAgQ29tcG9u ZW50cwk6ICdIREE6MTBlYzAyODMsMTAyODA2MTQsMDAxMDAwMDMnCiAgQ29udHJvbHMgICAg ICA6IDI1CiAgU2ltcGxlIGN0cmxzICA6IDEzClNpbXBsZSBtaXhlciBjb250cm9sICdNYXN0 ZXInLDAKICBDYXBhYmlsaXRpZXM6IHB2b2x1bWUgcHZvbHVtZS1qb2luZWQgcHN3aXRjaCBw c3dpdGNoLWpvaW5lZAogIFBsYXliYWNrIGNoYW5uZWxzOiBNb25vCiAgTGltaXRzOiBQbGF5 YmFjayAwIC0gODcKICBNb25vOiBQbGF5YmFjayAxIFsxJV0gWy02NC41MGRCXSBbb25dClNp bXBsZSBtaXhlciBjb250cm9sICdIZWFkcGhvbmUnLDAKICBDYXBhYmlsaXRpZXM6IHB2b2x1 bWUgcHN3aXRjaAogIFBsYXliYWNrIGNoYW5uZWxzOiBGcm9udCBMZWZ0IC0gRnJvbnQgUmln aHQKICBMaW1pdHM6IFBsYXliYWNrIDAgLSA4NwogIE1vbm86CiAgRnJvbnQgTGVmdDogUGxh eWJhY2sgODcgWzEwMCVdIFswLjAwZEJdIFtvbl0KICBGcm9udCBSaWdodDogUGxheWJhY2sg ODcgWzEwMCVdIFswLjAwZEJdIFtvbl0KU2ltcGxlIG1peGVyIGNvbnRyb2wgJ0hlYWRwaG9u ZSBNaWMnLDAKICBDYXBhYmlsaXRpZXM6IHB2b2x1bWUgcHN3aXRjaCBjc3dpdGNoIGNzd2l0 Y2gtam9pbmVkIGNzd2l0Y2gtZXhjbHVzaXZlCiAgQ2FwdHVyZSBleGNsdXNpdmUgZ3JvdXA6 IDAKICBQbGF5YmFjayBjaGFubmVsczogRnJvbnQgTGVmdCAtIEZyb250IFJpZ2h0CiAgQ2Fw dHVyZSBjaGFubmVsczogTW9ubwogIExpbWl0czogUGxheWJhY2sgMCAtIDMxCiAgTW9ubzog Q2FwdHVyZSBbb2ZmXQogIEZyb250IExlZnQ6IFBsYXliYWNrIDAgWzAlXSBbLTM0LjUwZEJd IFtvZmZdCiAgRnJvbnQgUmlnaHQ6IFBsYXliYWNrIDAgWzAlXSBbLTM0LjUwZEJdIFtvZmZd ClNpbXBsZSBtaXhlciBjb250cm9sICdIZWFkcGhvbmUgTWljIEJvb3N0JywwCiAgQ2FwYWJp bGl0aWVzOiB2b2x1bWUKICBQbGF5YmFjayBjaGFubmVsczogRnJvbnQgTGVmdCAtIEZyb250 IFJpZ2h0CiAgQ2FwdHVyZSBjaGFubmVsczogRnJvbnQgTGVmdCAtIEZyb250IFJpZ2h0CiAg TGltaXRzOiAwIC0gMwogIEZyb250IExlZnQ6IDAgWzAlXSBbMC4wMGRCXQogIEZyb250IFJp Z2h0OiAwIFswJV0gWzAuMDBkQl0KU2ltcGxlIG1peGVyIGNvbnRyb2wgJ1NwZWFrZXInLDAK ICBDYXBhYmlsaXRpZXM6IHB2b2x1bWUgcHN3aXRjaAogIFBsYXliYWNrIGNoYW5uZWxzOiBG cm9udCBMZWZ0IC0gRnJvbnQgUmlnaHQKICBMaW1pdHM6IFBsYXliYWNrIDAgLSA4NwogIE1v bm86CiAgRnJvbnQgTGVmdDogUGxheWJhY2sgODcgWzEwMCVdIFswLjAwZEJdIFtvbl0KICBG cm9udCBSaWdodDogUGxheWJhY2sgODcgWzEwMCVdIFswLjAwZEJdIFtvbl0KU2ltcGxlIG1p eGVyIGNvbnRyb2wgJ1BDTScsMAogIENhcGFiaWxpdGllczogcHZvbHVtZQogIFBsYXliYWNr IGNoYW5uZWxzOiBGcm9udCBMZWZ0IC0gRnJvbnQgUmlnaHQKICBMaW1pdHM6IFBsYXliYWNr IDAgLSAyNTUKICBNb25vOgogIEZyb250IExlZnQ6IFBsYXliYWNrIDc2IFszMCVdIFstMzUu ODBkQl0KICBGcm9udCBSaWdodDogUGxheWJhY2sgNzYgWzMwJV0gWy0zNS44MGRCXQpTaW1w bGUgbWl4ZXIgY29udHJvbCAnQ2FwdHVyZScsMAogIENhcGFiaWxpdGllczogY3ZvbHVtZSBj c3dpdGNoCiAgQ2FwdHVyZSBjaGFubmVsczogRnJvbnQgTGVmdCAtIEZyb250IFJpZ2h0CiAg TGltaXRzOiBDYXB0dXJlIDAgLSA2MwogIEZyb250IExlZnQ6IENhcHR1cmUgMzkgWzYyJV0g WzEyLjAwZEJdIFtvbl0KICBGcm9udCBSaWdodDogQ2FwdHVyZSAzOSBbNjIlXSBbMTIuMDBk Ql0gW29uXQpTaW1wbGUgbWl4ZXIgY29udHJvbCAnQXV0by1NdXRlIE1vZGUnLDAKICBDYXBh YmlsaXRpZXM6IGVudW0KICBJdGVtczogJ0Rpc2FibGVkJyAnRW5hYmxlZCcKICBJdGVtMDog J0VuYWJsZWQnClNpbXBsZSBtaXhlciBjb250cm9sICdEaWdpdGFsJywwCiAgQ2FwYWJpbGl0 aWVzOiBjdm9sdW1lCiAgQ2FwdHVyZSBjaGFubmVsczogRnJvbnQgTGVmdCAtIEZyb250IFJp Z2h0CiAgTGltaXRzOiBDYXB0dXJlIDAgLSAxMjAKICBGcm9udCBMZWZ0OiBDYXB0dXJlIDYw IFs1MCVdIFswLjAwZEJdCiAgRnJvbnQgUmlnaHQ6IENhcHR1cmUgNjAgWzUwJV0gWzAuMDBk Ql0KU2ltcGxlIG1peGVyIGNvbnRyb2wgJ0hlYWRzZXQgTWljJywwCiAgQ2FwYWJpbGl0aWVz OiBwdm9sdW1lIHBzd2l0Y2ggY3N3aXRjaCBjc3dpdGNoLWpvaW5lZCBjc3dpdGNoLWV4Y2x1 c2l2ZQogIENhcHR1cmUgZXhjbHVzaXZlIGdyb3VwOiAwCiAgUGxheWJhY2sgY2hhbm5lbHM6 IEZyb250IExlZnQgLSBGcm9udCBSaWdodAogIENhcHR1cmUgY2hhbm5lbHM6IE1vbm8KICBM aW1pdHM6IFBsYXliYWNrIDAgLSAzMQogIE1vbm86IENhcHR1cmUgW29mZl0KICBGcm9udCBM ZWZ0OiBQbGF5YmFjayAwIFswJV0gWy0zNC41MGRCXSBbb2ZmXQogIEZyb250IFJpZ2h0OiBQ bGF5YmFjayAwIFswJV0gWy0zNC41MGRCXSBbb2ZmXQpTaW1wbGUgbWl4ZXIgY29udHJvbCAn SGVhZHNldCBNaWMgQm9vc3QnLDAKICBDYXBhYmlsaXRpZXM6IHZvbHVtZQogIFBsYXliYWNr IGNoYW5uZWxzOiBGcm9udCBMZWZ0IC0gRnJvbnQgUmlnaHQKICBDYXB0dXJlIGNoYW5uZWxz OiBGcm9udCBMZWZ0IC0gRnJvbnQgUmlnaHQKICBMaW1pdHM6IDAgLSAzCiAgRnJvbnQgTGVm dDogMCBbMCVdIFswLjAwZEJdCiAgRnJvbnQgUmlnaHQ6IDAgWzAlXSBbMC4wMGRCXQpTaW1w bGUgbWl4ZXIgY29udHJvbCAnSW50ZXJuYWwgTWljJywwCiAgQ2FwYWJpbGl0aWVzOiBjc3dp dGNoIGNzd2l0Y2gtam9pbmVkIGNzd2l0Y2gtZXhjbHVzaXZlCiAgQ2FwdHVyZSBleGNsdXNp dmUgZ3JvdXA6IDAKICBDYXB0dXJlIGNoYW5uZWxzOiBNb25vCiAgTW9ubzogQ2FwdHVyZSBb b25dClNpbXBsZSBtaXhlciBjb250cm9sICdJbnRlcm5hbCBNaWMgQm9vc3QnLDAKICBDYXBh YmlsaXRpZXM6IHZvbHVtZQogIFBsYXliYWNrIGNoYW5uZWxzOiBGcm9udCBMZWZ0IC0gRnJv bnQgUmlnaHQKICBDYXB0dXJlIGNoYW5uZWxzOiBGcm9udCBMZWZ0IC0gRnJvbnQgUmlnaHQK ICBMaW1pdHM6IDAgLSAzCiAgRnJvbnQgTGVmdDogMCBbMCVdIFswLjAwZEJdCiAgRnJvbnQg UmlnaHQ6IDAgWzAlXSBbMC4wMGRCXQoKCiEhQWxzYWN0bCBvdXRwdXQKISEtLS0tLS0tLS0t LS0tLQoKLS1zdGFydGNvbGxhcHNlLS0Kc3RhdGUuR2VuZXJpYyB7Cgljb250cm9sLjEgewoJ CWlmYWNlIENBUkQKCQluYW1lICdIRE1JL0RQLHBjbT0zIEphY2snCgkJdmFsdWUgZmFsc2UK CQljb21tZW50IHsKCQkJYWNjZXNzIHJlYWQKCQkJdHlwZSBCT09MRUFOCgkJCWNvdW50IDEK CQl9Cgl9Cgljb250cm9sLjIgewoJCWlmYWNlIE1JWEVSCgkJbmFtZSAnSUVDOTU4IFBsYXli YWNrIENvbiBNYXNrJwoJCXZhbHVlICcwZmZmMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwJwoJ CWNvbW1lbnQgewoJCQlhY2Nlc3MgcmVhZAoJCQl0eXBlIElFQzk1OAoJCQljb3VudCAxCgkJ fQoJfQoJY29udHJvbC4zIHsKCQlpZmFjZSBNSVhFUgoJCW5hbWUgJ0lFQzk1OCBQbGF5YmFj ayBQcm8gTWFzaycKCQl2YWx1ZSAnMGYwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcKCQlj b21tZW50IHsKCQkJYWNjZXNzIHJlYWQKCQkJdHlwZSBJRUM5NTgKCQkJY291bnQgMQoJCX0K CX0KCWNvbnRyb2wuNCB7CgkJaWZhY2UgTUlYRVIKCQluYW1lICdJRUM5NTggUGxheWJhY2sg RGVmYXVsdCcKCQl2YWx1ZSAnMDQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCcKCQljb21t ZW50IHsKCQkJYWNjZXNzICdyZWFkIHdyaXRlJwoJCQl0eXBlIElFQzk1OAoJCQljb3VudCAx CgkJfQoJfQoJY29udHJvbC41IHsKCQlpZmFjZSBNSVhFUgoJCW5hbWUgJ0lFQzk1OCBQbGF5 YmFjayBTd2l0Y2gnCgkJdmFsdWUgdHJ1ZQoJCWNvbW1lbnQgewoJCQlhY2Nlc3MgJ3JlYWQg d3JpdGUnCgkJCXR5cGUgQk9PTEVBTgoJCQljb3VudCAxCgkJfQoJfQoJY29udHJvbC42IHsK CQlpZmFjZSBQQ00KCQlkZXZpY2UgMwoJCW5hbWUgRUxECgkJdmFsdWUgJycKCQljb21tZW50 IHsKCQkJYWNjZXNzICdyZWFkIHZvbGF0aWxlJwoJCQl0eXBlIEJZVEVTCgkJCWNvdW50IDAK CQl9Cgl9Cgljb250cm9sLjcgewoJCWlmYWNlIFBDTQoJCWRldmljZSAzCgkJbmFtZSAnUGxh eWJhY2sgQ2hhbm5lbCBNYXAnCgkJdmFsdWUuMCAwCgkJdmFsdWUuMSAwCgkJdmFsdWUuMiAw CgkJdmFsdWUuMyAwCgkJdmFsdWUuNCAwCgkJdmFsdWUuNSAwCgkJdmFsdWUuNiAwCgkJdmFs dWUuNyAwCgkJY29tbWVudCB7CgkJCWFjY2VzcyAncmVhZCB3cml0ZScKCQkJdHlwZSBJTlRF R0VSCgkJCWNvdW50IDgKCQkJcmFuZ2UgJzAgLSAzNicKCQl9Cgl9Cn0Kc3RhdGUuR2VuZXJp Y18xIHsKCWNvbnRyb2wuMSB7CgkJaWZhY2UgTUlYRVIKCQluYW1lICdIZWFkcGhvbmUgUGxh eWJhY2sgVm9sdW1lJwoJCXZhbHVlLjAgODcKCQl2YWx1ZS4xIDg3CgkJY29tbWVudCB7CgkJ CWFjY2VzcyAncmVhZCB3cml0ZScKCQkJdHlwZSBJTlRFR0VSCgkJCWNvdW50IDIKCQkJcmFu Z2UgJzAgLSA4NycKCQkJZGJtaW4gLTY1MjUKCQkJZGJtYXggMAoJCQlkYnZhbHVlLjAgMAoJ CQlkYnZhbHVlLjEgMAoJCX0KCX0KCWNvbnRyb2wuMiB7CgkJaWZhY2UgTUlYRVIKCQluYW1l ICdIZWFkcGhvbmUgUGxheWJhY2sgU3dpdGNoJwoJCXZhbHVlLjAgdHJ1ZQoJCXZhbHVlLjEg dHJ1ZQoJCWNvbW1lbnQgewoJCQlhY2Nlc3MgJ3JlYWQgd3JpdGUnCgkJCXR5cGUgQk9PTEVB TgoJCQljb3VudCAyCgkJfQoJfQoJY29udHJvbC4zIHsKCQlpZmFjZSBNSVhFUgoJCW5hbWUg J1NwZWFrZXIgUGxheWJhY2sgVm9sdW1lJwoJCXZhbHVlLjAgODcKCQl2YWx1ZS4xIDg3CgkJ Y29tbWVudCB7CgkJCWFjY2VzcyAncmVhZCB3cml0ZScKCQkJdHlwZSBJTlRFR0VSCgkJCWNv dW50IDIKCQkJcmFuZ2UgJzAgLSA4NycKCQkJZGJtaW4gLTY1MjUKCQkJZGJtYXggMAoJCQlk YnZhbHVlLjAgMAoJCQlkYnZhbHVlLjEgMAoJCX0KCX0KCWNvbnRyb2wuNCB7CgkJaWZhY2Ug TUlYRVIKCQluYW1lICdTcGVha2VyIFBsYXliYWNrIFN3aXRjaCcKCQl2YWx1ZS4wIHRydWUK CQl2YWx1ZS4xIHRydWUKCQljb21tZW50IHsKCQkJYWNjZXNzICdyZWFkIHdyaXRlJwoJCQl0 eXBlIEJPT0xFQU4KCQkJY291bnQgMgoJCX0KCX0KCWNvbnRyb2wuNSB7CgkJaWZhY2UgTUlY RVIKCQluYW1lICdIZWFkc2V0IE1pYyBQbGF5YmFjayBWb2x1bWUnCgkJdmFsdWUuMCAwCgkJ dmFsdWUuMSAwCgkJY29tbWVudCB7CgkJCWFjY2VzcyAncmVhZCB3cml0ZScKCQkJdHlwZSBJ TlRFR0VSCgkJCWNvdW50IDIKCQkJcmFuZ2UgJzAgLSAzMScKCQkJZGJtaW4gLTM0NTAKCQkJ ZGJtYXggMTIwMAoJCQlkYnZhbHVlLjAgLTM0NTAKCQkJZGJ2YWx1ZS4xIC0zNDUwCgkJfQoJ fQoJY29udHJvbC42IHsKCQlpZmFjZSBNSVhFUgoJCW5hbWUgJ0hlYWRzZXQgTWljIFBsYXli YWNrIFN3aXRjaCcKCQl2YWx1ZS4wIGZhbHNlCgkJdmFsdWUuMSBmYWxzZQoJCWNvbW1lbnQg ewoJCQlhY2Nlc3MgJ3JlYWQgd3JpdGUnCgkJCXR5cGUgQk9PTEVBTgoJCQljb3VudCAyCgkJ fQoJfQoJY29udHJvbC43IHsKCQlpZmFjZSBNSVhFUgoJCW5hbWUgJ0hlYWRwaG9uZSBNaWMg UGxheWJhY2sgVm9sdW1lJwoJCXZhbHVlLjAgMAoJCXZhbHVlLjEgMAoJCWNvbW1lbnQgewoJ CQlhY2Nlc3MgJ3JlYWQgd3JpdGUnCgkJCXR5cGUgSU5URUdFUgoJCQljb3VudCAyCgkJCXJh bmdlICcwIC0gMzEnCgkJCWRibWluIC0zNDUwCgkJCWRibWF4IDEyMDAKCQkJZGJ2YWx1ZS4w IC0zNDUwCgkJCWRidmFsdWUuMSAtMzQ1MAoJCX0KCX0KCWNvbnRyb2wuOCB7CgkJaWZhY2Ug TUlYRVIKCQluYW1lICdIZWFkcGhvbmUgTWljIFBsYXliYWNrIFN3aXRjaCcKCQl2YWx1ZS4w IGZhbHNlCgkJdmFsdWUuMSBmYWxzZQoJCWNvbW1lbnQgewoJCQlhY2Nlc3MgJ3JlYWQgd3Jp dGUnCgkJCXR5cGUgQk9PTEVBTgoJCQljb3VudCAyCgkJfQoJfQoJY29udHJvbC45IHsKCQlp ZmFjZSBNSVhFUgoJCW5hbWUgJ0F1dG8tTXV0ZSBNb2RlJwoJCXZhbHVlIEVuYWJsZWQKCQlj b21tZW50IHsKCQkJYWNjZXNzICdyZWFkIHdyaXRlJwoJCQl0eXBlIEVOVU1FUkFURUQKCQkJ Y291bnQgMQoJCQlpdGVtLjAgRGlzYWJsZWQKCQkJaXRlbS4xIEVuYWJsZWQKCQl9Cgl9Cglj b250cm9sLjEwIHsKCQlpZmFjZSBNSVhFUgoJCW5hbWUgJ0NhcHR1cmUgU291cmNlJwoJCXZh bHVlICdJbnRlcm5hbCBNaWMnCgkJY29tbWVudCB7CgkJCWFjY2VzcyAncmVhZCB3cml0ZScK CQkJdHlwZSBFTlVNRVJBVEVECgkJCWNvdW50IDEKCQkJaXRlbS4wICdIZWFkc2V0IE1pYycK CQkJaXRlbS4xICdIZWFkcGhvbmUgTWljJwoJCQlpdGVtLjIgJ0ludGVybmFsIE1pYycKCQl9 Cgl9Cgljb250cm9sLjExIHsKCQlpZmFjZSBNSVhFUgoJCW5hbWUgJ0NhcHR1cmUgVm9sdW1l JwoJCXZhbHVlLjAgMzkKCQl2YWx1ZS4xIDM5CgkJY29tbWVudCB7CgkJCWFjY2VzcyAncmVh ZCB3cml0ZScKCQkJdHlwZSBJTlRFR0VSCgkJCWNvdW50IDIKCQkJcmFuZ2UgJzAgLSA2MycK CQkJZGJtaW4gLTE3MjUKCQkJZGJtYXggMzAwMAoJCQlkYnZhbHVlLjAgMTIwMAoJCQlkYnZh bHVlLjEgMTIwMAoJCX0KCX0KCWNvbnRyb2wuMTIgewoJCWlmYWNlIE1JWEVSCgkJbmFtZSAn Q2FwdHVyZSBTd2l0Y2gnCgkJdmFsdWUuMCB0cnVlCgkJdmFsdWUuMSB0cnVlCgkJY29tbWVu dCB7CgkJCWFjY2VzcyAncmVhZCB3cml0ZScKCQkJdHlwZSBCT09MRUFOCgkJCWNvdW50IDIK CQl9Cgl9Cgljb250cm9sLjEzIHsKCQlpZmFjZSBNSVhFUgoJCW5hbWUgJ0hlYWRzZXQgTWlj IEJvb3N0IFZvbHVtZScKCQl2YWx1ZS4wIDAKCQl2YWx1ZS4xIDAKCQljb21tZW50IHsKCQkJ YWNjZXNzICdyZWFkIHdyaXRlJwoJCQl0eXBlIElOVEVHRVIKCQkJY291bnQgMgoJCQlyYW5n ZSAnMCAtIDMnCgkJCWRibWluIDAKCQkJZGJtYXggMzYwMAoJCQlkYnZhbHVlLjAgMAoJCQlk YnZhbHVlLjEgMAoJCX0KCX0KCWNvbnRyb2wuMTQgewoJCWlmYWNlIE1JWEVSCgkJbmFtZSAn SGVhZHBob25lIE1pYyBCb29zdCBWb2x1bWUnCgkJdmFsdWUuMCAwCgkJdmFsdWUuMSAwCgkJ Y29tbWVudCB7CgkJCWFjY2VzcyAncmVhZCB3cml0ZScKCQkJdHlwZSBJTlRFR0VSCgkJCWNv dW50IDIKCQkJcmFuZ2UgJzAgLSAzJwoJCQlkYm1pbiAwCgkJCWRibWF4IDM2MDAKCQkJZGJ2 YWx1ZS4wIDAKCQkJZGJ2YWx1ZS4xIDAKCQl9Cgl9Cgljb250cm9sLjE1IHsKCQlpZmFjZSBN SVhFUgoJCW5hbWUgJ0ludGVybmFsIE1pYyBCb29zdCBWb2x1bWUnCgkJdmFsdWUuMCAwCgkJ dmFsdWUuMSAwCgkJY29tbWVudCB7CgkJCWFjY2VzcyAncmVhZCB3cml0ZScKCQkJdHlwZSBJ TlRFR0VSCgkJCWNvdW50IDIKCQkJcmFuZ2UgJzAgLSAzJwoJCQlkYm1pbiAwCgkJCWRibWF4 IDM2MDAKCQkJZGJ2YWx1ZS4wIDAKCQkJZGJ2YWx1ZS4xIDAKCQl9Cgl9Cgljb250cm9sLjE2 IHsKCQlpZmFjZSBNSVhFUgoJCW5hbWUgJ01hc3RlciBQbGF5YmFjayBWb2x1bWUnCgkJdmFs dWUgMQoJCWNvbW1lbnQgewoJCQlhY2Nlc3MgJ3JlYWQgd3JpdGUnCgkJCXR5cGUgSU5URUdF UgoJCQljb3VudCAxCgkJCXJhbmdlICcwIC0gODcnCgkJCWRibWluIC02NTI1CgkJCWRibWF4 IDAKCQkJZGJ2YWx1ZS4wIC02NDUwCgkJfQoJfQoJY29udHJvbC4xNyB7CgkJaWZhY2UgTUlY RVIKCQluYW1lICdNYXN0ZXIgUGxheWJhY2sgU3dpdGNoJwoJCXZhbHVlIHRydWUKCQljb21t ZW50IHsKCQkJYWNjZXNzICdyZWFkIHdyaXRlJwoJCQl0eXBlIEJPT0xFQU4KCQkJY291bnQg MQoJCX0KCX0KCWNvbnRyb2wuMTggewoJCWlmYWNlIENBUkQKCQluYW1lICdIZWFkc2V0IE1p YyBQaGFudG9tIEphY2snCgkJdmFsdWUgdHJ1ZQoJCWNvbW1lbnQgewoJCQlhY2Nlc3MgcmVh ZAoJCQl0eXBlIEJPT0xFQU4KCQkJY291bnQgMQoJCX0KCX0KCWNvbnRyb2wuMTkgewoJCWlm YWNlIENBUkQKCQluYW1lICdIZWFkcGhvbmUgTWljIEphY2snCgkJdmFsdWUgdHJ1ZQoJCWNv bW1lbnQgewoJCQlhY2Nlc3MgcmVhZAoJCQl0eXBlIEJPT0xFQU4KCQkJY291bnQgMQoJCX0K CX0KCWNvbnRyb2wuMjAgewoJCWlmYWNlIENBUkQKCQluYW1lICdJbnRlcm5hbCBNaWMgUGhh bnRvbSBKYWNrJwoJCXZhbHVlIHRydWUKCQljb21tZW50IHsKCQkJYWNjZXNzIHJlYWQKCQkJ dHlwZSBCT09MRUFOCgkJCWNvdW50IDEKCQl9Cgl9Cgljb250cm9sLjIxIHsKCQlpZmFjZSBD QVJECgkJbmFtZSAnU3BlYWtlciBQaGFudG9tIEphY2snCgkJdmFsdWUgdHJ1ZQoJCWNvbW1l bnQgewoJCQlhY2Nlc3MgcmVhZAoJCQl0eXBlIEJPT0xFQU4KCQkJY291bnQgMQoJCX0KCX0K CWNvbnRyb2wuMjIgewoJCWlmYWNlIFBDTQoJCW5hbWUgJ1BsYXliYWNrIENoYW5uZWwgTWFw JwoJCXZhbHVlLjAgMAoJCXZhbHVlLjEgMAoJCWNvbW1lbnQgewoJCQlhY2Nlc3MgcmVhZAoJ CQl0eXBlIElOVEVHRVIKCQkJY291bnQgMgoJCQlyYW5nZSAnMCAtIDM2JwoJCX0KCX0KCWNv bnRyb2wuMjMgewoJCWlmYWNlIFBDTQoJCW5hbWUgJ0NhcHR1cmUgQ2hhbm5lbCBNYXAnCgkJ dmFsdWUuMCAwCgkJdmFsdWUuMSAwCgkJY29tbWVudCB7CgkJCWFjY2VzcyByZWFkCgkJCXR5 cGUgSU5URUdFUgoJCQljb3VudCAyCgkJCXJhbmdlICcwIC0gMzYnCgkJfQoJfQoJY29udHJv bC4yNCB7CgkJaWZhY2UgTUlYRVIKCQluYW1lICdQQ00gUGxheWJhY2sgVm9sdW1lJwoJCXZh bHVlLjAgNzYKCQl2YWx1ZS4xIDc2CgkJY29tbWVudCB7CgkJCWFjY2VzcyAncmVhZCB3cml0 ZSB1c2VyJwoJCQl0eXBlIElOVEVHRVIKCQkJY291bnQgMgoJCQlyYW5nZSAnMCAtIDI1NScK CQkJdGx2ICcwMDAwMDAwMTAwMDAwMDA4ZmZmZmVjMTQwMDAwMDAxNCcKCQkJZGJtaW4gLTUx MDAKCQkJZGJtYXggMAoJCQlkYnZhbHVlLjAgLTM1ODAKCQkJZGJ2YWx1ZS4xIC0zNTgwCgkJ fQoJfQoJY29udHJvbC4yNSB7CgkJaWZhY2UgTUlYRVIKCQluYW1lICdEaWdpdGFsIENhcHR1 cmUgVm9sdW1lJwoJCXZhbHVlLjAgNjAKCQl2YWx1ZS4xIDYwCgkJY29tbWVudCB7CgkJCWFj Y2VzcyAncmVhZCB3cml0ZSB1c2VyJwoJCQl0eXBlIElOVEVHRVIKCQkJY291bnQgMgoJCQly YW5nZSAnMCAtIDEyMCcKCQkJdGx2ICcwMDAwMDAwMTAwMDAwMDA4ZmZmZmY0NDgwMDAwMDAz MicKCQkJZGJtaW4gLTMwMDAKCQkJZGJtYXggMzAwMAoJCQlkYnZhbHVlLjAgMAoJCQlkYnZh bHVlLjEgMAoJCX0KCX0KfQotLWVuZGNvbGxhcHNlLS0KCgohIUFsbCBMb2FkZWQgTW9kdWxl cwohIS0tLS0tLS0tLS0tLS0tLS0tLQoKTW9kdWxlCmZ1c2UKdHVuCnpyYW0KbHo0X2NvbXBy ZXNzCm5sc19pc284ODU5XzEKbmxzX2NwNDM3CnZmYXQKZmF0CmVjYgphbWRfZnJlcV9zZW5z aXRpdml0eQprdm1fYW1kCmt2bQphcmM0CmNyY3QxMGRpZl9wY2xtdWwKY3JjMzJfcGNsbXVs CmdoYXNoX2NsbXVsbmlfaW50ZWwKYWVzbmlfaW50ZWwKYXRoOWsKYXRoOWtfY29tbW9uCmF0 aDlrX2h3CmRlbGxfd21pCnV2Y3ZpZGVvCmRlbGxfbGVkCnJhZGVvbgpzcGFyc2Vfa2V5bWFw CmF0aAphZXNfeDg2XzY0CnNuZF9oZGFfY29kZWNfcmVhbHRlawpzbmRfaGRhX2NvZGVjX2dl bmVyaWMKc25kX2hkYV9jb2RlY19oZG1pCmxydwphdGgzawpkZWxsX2xhcHRvcAptYWM4MDIx MQp2aWRlb2J1ZjJfdm1hbGxvYwp2aWRlb2J1ZjJfbWVtb3BzCnZpZGVvYnVmMl9jb3JlCnNu ZF9oZGFfaW50ZWwKdjRsMl9jb21tb24Kc25kX2hkYV9jb250cm9sbGVyCnNuZF9oZGFfY29k ZWMKZ2YxMjhtdWwKZ2x1ZV9oZWxwZXIKYnR1c2IKZGNkYmFzCnR0bQphYmxrX2hlbHBlcgpj Zmc4MDIxMQpibHVldG9vdGgKY3J5cHRkCmRybV9rbXNfaGVscGVyCnNuZF9od2RlcAp2aWRl b2Rldgpwc21vdXNlCnNlcmlvX3JhdwplZGFjX2NvcmUKZWRhY19tY2VfYW1kCnI4MTY5Cm1p aQpwY3Nwa3IKYWMKazEwdGVtcApyZmtpbGwKZmFtMTVoX3Bvd2VyCm1lZGlhCmkyY19waWl4 NApzbmRfcGNtCmRybQpzbmRfdGltZXIKaHdtb24Kc25kCmkyY19hbGdvX2JpdAppMmNfY29y ZQptb3VzZWRldgpldmRldgptYWNfaGlkCmpveWRldgpzb3VuZGNvcmUKc2hwY2hwCndtaQp2 aWRlbwpidXR0b24KYmF0dGVyeQphY3BpX2NwdWZyZXEKcHJvY2Vzc29yCnNjaF9mcV9jb2Rl bApleHQ0CmNyYzE2Cm1iY2FjaGUKamJkMgpkbV9tb2QKaGlkX211bHRpdG91Y2gKc2RfbW9k CmhpZF9nZW5lcmljCnVzYmhpZApoaWQKYXRrYmQKbGlicHMyCnhoY2lfcGNpCmFoY2kKY3Jj MzJjX2ludGVsCnNkaGNpX3BjaQpsaWJhaGNpCnNkaGNpCmxlZF9jbGFzcwplaGNpX3BjaQpv aGNpX3BjaQp4aGNpX2hjZApsaWJhdGEKb2hjaV9oY2QKZWhjaV9oY2QKbW1jX2NvcmUKdXNi Y29yZQpzY3NpX21vZAp1c2JfY29tbW9uCmk4MDQyCnNlcmlvCgoKISFTeXNmcyBGaWxlcwoh IS0tLS0tLS0tLS0tCgovc3lzL2NsYXNzL3NvdW5kL2h3QzBEMC9pbml0X3Bpbl9jb25maWdz OgoweDAzIDB4MTg1NjAwZjAKMHgwNSAweDU4NTYwMGYwCjB4MDcgMHg1ODU2MDBmMAoKL3N5 cy9jbGFzcy9zb3VuZC9od0MwRDAvZHJpdmVyX3Bpbl9jb25maWdzOgoKL3N5cy9jbGFzcy9z b3VuZC9od0MwRDAvdXNlcl9waW5fY29uZmlnczoKCi9zeXMvY2xhc3Mvc291bmQvaHdDMEQw L2luaXRfdmVyYnM6Cgovc3lzL2NsYXNzL3NvdW5kL2h3QzBEMC9oaW50czoKCi9zeXMvY2xh c3Mvc291bmQvaHdDMUQwL2luaXRfcGluX2NvbmZpZ3M6CjB4MTIgMHg5MGE2MDEzMAoweDE0 IDB4OTAxNzAxMTAKMHgxNyAweDQwMDIwMDA4CjB4MTggMHg0MTExMTFmMAoweDE5IDB4NDEx MTExZjAKMHgxYSAweDQxMTExMWYwCjB4MWIgMHg0MTExMTFmMAoweDFkIDB4NDBlMDAwMDEK MHgxZSAweDQxMTExMWYwCjB4MjEgMHgwMzIxMTAxZgoKL3N5cy9jbGFzcy9zb3VuZC9od0Mx RDAvZHJpdmVyX3Bpbl9jb25maWdzOgoweDE5IDB4MDFhMTkxM2MKMHgxYSAweDAxYTE5MTNk Cgovc3lzL2NsYXNzL3NvdW5kL2h3QzFEMC91c2VyX3Bpbl9jb25maWdzOgoKL3N5cy9jbGFz cy9zb3VuZC9od0MxRDAvaW5pdF92ZXJiczoKCi9zeXMvY2xhc3Mvc291bmQvaHdDMUQwL2hp bnRzOgoKCiEhQUxTQS9IREEgZG1lc2cKISEtLS0tLS0tLS0tLS0tLQoKWyAgIDE4Ljg3MDA2 OV0gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciBidHVzYgpbICAg MTguODk5NTIwXSBzbmRfaGRhX2ludGVsIDAwMDA6MDA6MDEuMTogaXJxIDM3IGZvciBNU0kv TVNJLVgKWyAgIDE4Ljg5OTk4MV0gc25kX2hkYV9pbnRlbCAwMDAwOjAwOjE0LjI6IGlycSAz OCBmb3IgTVNJL01TSS1YClsgICAxOC45OTIyNDZdIHI4MTY5IDAwMDA6MDE6MDAuMCBlbnAx czA6IHJlbmFtZWQgZnJvbSBldGgwClsgICAxOS4wMDgyNDNdIGlucHV0OiBIRC1BdWRpbyBH ZW5lcmljIEhETUkvRFAscGNtPTMgYXMgL2RldmljZXMvcGNpMDAwMDowMC8wMDAwOjAwOjAx LjEvc291bmQvY2FyZDAvaW5wdXQxMwpbICAgMTkuMTA0MDc5XSBzb3VuZCBoZGF1ZGlvQzFE MDogYXV0b2NvbmZpZzogbGluZV9vdXRzPTEgKDB4MTQvMHgwLzB4MC8weDAvMHgwKSB0eXBl OnNwZWFrZXIKWyAgIDE5LjEwNDA5NV0gc291bmQgaGRhdWRpb0MxRDA6ICAgIHNwZWFrZXJf b3V0cz0wICgweDAvMHgwLzB4MC8weDAvMHgwKQpbICAgMTkuMTA0MTA0XSBzb3VuZCBoZGF1 ZGlvQzFEMDogICAgaHBfb3V0cz0xICgweDIxLzB4MC8weDAvMHgwLzB4MCkKWyAgIDE5LjEw NDExMV0gc291bmQgaGRhdWRpb0MxRDA6ICAgIG1vbm86IG1vbm9fb3V0PTB4MApbICAgMTku MTA0MTE3XSBzb3VuZCBoZGF1ZGlvQzFEMDogICAgaW5wdXRzOgpbICAgMTkuMTA0MTI2XSBz b3VuZCBoZGF1ZGlvQzFEMDogICAgICBIZWFkc2V0IE1pYz0weDE5ClsgICAxOS4xMDQxMzNd IHNvdW5kIGhkYXVkaW9DMUQwOiAgICAgIEhlYWRwaG9uZSBNaWM9MHgxYQpbICAgMTkuMTA0 MTQwXSBzb3VuZCBoZGF1ZGlvQzFEMDogICAgICBJbnRlcm5hbCBNaWM9MHgxMgpbICAgMTku MjMxNDk2XSBbZHJtXSByYWRlb24ga2VybmVsIG1vZGVzZXR0aW5nIGVuYWJsZWQuCi0tClsg ICAxOS44OTcyODFdIFtkcm1dIENvbm5lY3RvciAxOgpbICAgMTkuODk3Mjg0XSBbZHJtXSAg IEhETUktQS0xClsgICAxOS44OTcyODddIFtkcm1dICAgSFBEMgotLQpbICAgMjAuMDg3MDk4 XSB1c2IgMS0yOiBuZXcgZnVsbC1zcGVlZCBVU0IgZGV2aWNlIG51bWJlciA0IHVzaW5nIG9o Y2ktcGNpClsgICAyMC4yMDcwNjVdIGlucHV0OiBIRC1BdWRpbyBHZW5lcmljIEhlYWRwaG9u ZSBNaWMgYXMgL2RldmljZXMvcGNpMDAwMDowMC8wMDAwOjAwOjE0LjIvc291bmQvY2FyZDEv aW5wdXQxNgpbICAgMjAuNzYyNDEwXSBbZHJtXSBmYiBtYXBwYWJsZSBhdCAweEUwOTkwMDAw Ci0tClsyMjkzNDkuOTUyNzY5XSB0cmFwczogY2hyb21pdW1bODg1NV0gZ2VuZXJhbCBwcm90 ZWN0aW9uIGlwOjdmODVhYjc2MGFhMiBzcDo3ZmZmYzMwNDg0OTggZXJyb3I6MCBpbiBsZC0y LjIwLnNvWzdmODVhYjc0ODAwMCsyMjAwMF0KWzIyOTM2MS43Mzg3OTJdIGNocm9taXVtWzE0 MjldOiBzZWdmYXVsdCBhdCBmZmZmZmZmZmZmZmZmZjhkIGlwIDAwMDA3ZjE3NWUxN2RkMzIg c3AgMDAwMDdmZmZkODM0NTUxOCBlcnJvciA3IGluIGxpYmFzb3VuZC5zby4yLjAuMFs3ZjE3 NWUwZDgwMDArZjIwMDBdClsyMzI5MzIuOTgwMDk3XSB0YXNrMVs1NTddOiBzZWdmYXVsdCBh dCA0MCBpcCAwMDAwN2ZjODFmYWQxY2MzIHNwIDAwMDA3ZmM4MWYyODVjNDggZXJyb3IgNCBp biBsaWJhc291bmQuc28uMi4wLjBbN2ZjODFmYTg4MDAwK2YyMDAwXQpbMjMyOTY4LjQ5OTE3 N10gY2hyb21pdW1bMTI1OThdOiBzZWdmYXVsdCBhdCAxNTk5MjAgaXAgMDAwMDdmZmEyYWI3 MmFhMiBzcCAwMDAwN2ZmZmM1Y2ZhYzE4IGVycm9yIDQgaW4gbGQtMi4yMC5zb1s3ZmZhMmFi NWEwMDArMjIwMDBdCi0tClsyMzcyMjYuODYwNDk3XSBjaHJvbWl1bVsxODk2N106IHNlZ2Zh dWx0IGF0IDE1ODE1MCBpcCAwMDAwN2ZmYTJhYjcyYWEyIHNwIDAwMDA3ZmZmYzVjZmFjMTgg ZXJyb3IgNCBpbiBsZC0yLjIwLnNvWzdmZmEyYWI1YTAwMCsyMjAwMF0KWzIzNzI0NS4xMjI4 MzJdIGNocm9taXVtWzg4ODddOiBzZWdmYXVsdCBhdCAxNCBpcCAwMDAwN2ZlNmI0NzJiNTMw IHNwIDAwMDA3ZmZmNjE5YzgzMjggZXJyb3IgNCBpbiBsaWJhc291bmQuc28uMi4wLjBbN2Zl NmI0NjhhMDAwK2VmMDAwXQoKCg== --------------040108010603000200090309 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --------------040108010603000200090309--