<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>208477</bug_id>
          
          <creation_ts>2008-02-01 19:19 0000</creation_ts>
          <short_desc>sys-kernel/genkernel-3.4.9 - check_loop() failed</short_desc>
          <delta_ts>2008-03-23 15:39:34 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Hosted Projects</product>
          <component>genkernel</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>gentoo@holzke.net</reporter>
          <assigned_to>genkernel@gentoo.org</assigned_to>
          <cc>funtoos@yahoo.com</cc>

      

      
          <long_desc isprivate="0">
            <who>gentoo@holzke.net</who>
            <bug_when>2008-02-01 19:19:24 0000</bug_when>
            <thetext>When using an &quot;initramfs&quot; file from genkernel (3.4.9) the &quot;check_loop()&quot; procedure fails and &quot;ash&quot; starts. After simply existing by typing &quot;exit&quot; the cdboot continues without problems.



Reproducible: Always




Kernel commandline:  kernel /boot/vmlinuz-2.6.23-gentoo-r3 root=/dev/ram0 init=/linuxrc looptype=squashfs loop=/livecd.squashfs udev nodevfs cdroot dodmraid real_root=/dev/loop0 video=vesafb:1024x768-32@85,mtrr:2,ywrap splash=verbose,theme:default CONSOLE=/dev/tty1 quiet nodhcp</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2008-02-01 19:48:55 0000</bug_when>
            <thetext>Fails how? What&apos;s the error? Got any output? Is this on a CD? Is this a custom built CD? We need some information that we can actually use</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2008-02-01 19:53:22 0000</bug_when>
            <thetext>Ok, looking at the genkernel code, you only get a failure there if you&apos;ve pointed it to a loop file that doesn&apos;t exist. Do you actually have a &quot;livecd.squashfs&quot; in your CD root? The &quot;standard&quot; filename that catalyst uses is &quot;image.squashfs&quot;.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wolf31o2@gentoo.org</who>
            <bug_when>2008-02-01 20:04:33 0000</bug_when>
            <thetext>If you&apos;re using genkernel on a &quot;real&quot; machine and this isn&apos;t a CD, you need to remove a *bunch* from your command line:

looptype=squashfs loop=/livecd.squashfs udev nodevfs cdroot

Also, you need to change real_root=/dev/loop0 to actually point to your real root device.  It should be something like /dev/sda3 or /dev/hda3.

Now, nodhcp does nothing on a live system.  It only affects the CD.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo@holzke.net</who>
            <bug_when>2008-02-02 10:10:00 0000</bug_when>
            <thetext>On a real machine the initramfs from genkernel run fine.

I am using it on a custom build liveCD (http://gentoo-wiki.com/HOWTO_build_a_LiveCD_from_scratch).

Yes I have a &quot;livecd.squashfs&quot; on the CD.

The interessting thing is, that the procedure shows up the error message and starts the &quot;ash&quot; shell, but when I do nothing but typing &quot;exit&quot; followed by pressing &quot;enter&quot; the CD keeps on starting without problems! 

In other words: The &quot;check_loop()&quot; procedure does not find an existing &quot;livecd.squashfs&quot; file, but the following procedure is able to read it.

I am a little bit confused about that.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2008-02-03 18:31:02 0000</bug_when>
            <thetext>The only &quot;obvious&quot; problem I see is that there&apos;s not a leading / in the path of the loop file to check in check_loop(). Please add one, rebuild your initramfs, and let us know if that fixes it.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>funtoos@yahoo.com</who>
            <bug_when>2008-02-03 23:23:09 0000</bug_when>
            <thetext>I am seeing the same error trying to boot a livecd with almost (I don&apos;t have quiet nodhcp) same boot parameters (seems like we followed the same guide). Only difference is that I get kernel panic once I exit from ash.

The error is coming from:

                bad_msg &quot;Invalid loop location: ${LOOP}&quot;
                bad_msg &apos;Please export LOOP with a valid location, or reboot and pass a proper loop=...&apos;
                bad_msg &apos;kernel command line!&apos;

i.e.

Invalid loop location: livecd.squashfs

I do see /newroot/mnt/cdrom mounted with correct livecd.squashfs in there with &apos;df&apos; inside the shell. So, I don&apos;t know why that check failed.

Where is /bin/ash coming from?
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2008-02-03 23:51:52 0000</bug_when>
            <thetext>First, I have no idea why people are following that guide. It is *much* easier (not to mention &quot;supported&quot;) to use catalyst to create a Gentoo-based LiveCD. The genkernel code that handles the loopback image is meant for use in conjunction with what catalyst generates. Any usage outside of that is &quot;unsupported&quot;.

Since we don&apos;t see the problem with our CDs generated by catalyst, chances are we won&apos;t be able to fix this. If you can track down the issue (and perhaps even provide a patch), it&apos;ll be a lot more likely that it will get fixed.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>funtoos@yahoo.com</who>
            <bug_when>2008-02-04 06:23:50 0000</bug_when>
            <thetext>(In reply to comment #7)
&gt; First, I have no idea why people are following that guide. It is *much* easier
&gt; (not to mention &quot;supported&quot;) to use catalyst to create a Gentoo-based LiveCD.
&gt; The genkernel code that handles the loopback image is meant for use in
&gt; conjunction with what catalyst generates. Any usage outside of that is
&gt; &quot;unsupported&quot;.

Is there a way to make catalyst use my existing chroot (that I created for this livecd environment)?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2008-02-04 21:13:25 0000</bug_when>
            <thetext>Okay, this is fixed in SVN. It was due to the mount command returning before the CD was actually mounted, which made the check fail.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>funtoos@yahoo.com</who>
            <bug_when>2008-02-04 21:19:26 0000</bug_when>
            <thetext>(In reply to comment #9)
&gt; Okay, this is fixed in SVN. It was due to the mount command returning before
&gt; the CD was actually mounted, which made the check fail.
&gt; 

I can test it out really quick and not wait for the next release if its possible to get the fix as a patch against 3.4.9? With SVN, I will probably need to emerge few things. Is that a possibility?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo@holzke.net</who>
            <bug_when>2008-02-05 11:14:33 0000</bug_when>
            <thetext>I would like to have a patch too.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2008-02-05 12:26:41 0000</bug_when>
            <thetext>Created an attachment (id=142715)
diff since 3.4.9

I&apos;m not going to break apart the patch, so you get the entire diff since 3.4.9.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo@holzke.net</who>
            <bug_when>2008-02-05 14:40:02 0000</bug_when>
            <thetext>I had a look to the patch and could not find any changes changes related to this problem. Where is the difference after applying the patch.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>funtoos@yahoo.com</who>
            <bug_when>2008-02-05 17:12:47 0000</bug_when>
            <thetext>&gt; Change &amp;&gt;/dev/null to &gt;/dev/null 2&gt;&amp;1 because busybox ash sucks

So, it was putting &apos;mount&apos; in the background and happily proceeding...that explains. Will give it a shot. Thanks for the patch.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo@holzke.net</who>
            <bug_when>2008-02-05 23:08:51 0000</bug_when>
            <thetext>Seems to work.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>funtoos@yahoo.com</who>
            <bug_when>2008-02-05 23:53:42 0000</bug_when>
            <thetext>We could probably release the one line change as r1 on 3.4.9 because it is a major breakage (I hit a kernel panic because of this). But that&apos;s up to you. I guess depends when you plan to do 3.5.0 or 3.4.10.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2008-02-06 00:27:54 0000</bug_when>
            <thetext>We&apos;ll likely do 3.4.10, which we will use for the 2008.0 release.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>funtoos@yahoo.com</who>
            <bug_when>2008-02-06 03:18:12 0000</bug_when>
            <thetext>Andrew, With this patch applied I still get an error thrown that says (I am typing it because kernel panicked)

&quot;mount: Mounting /dev/loop0 on /newroot/mnt/livecd failed: Invalid argument&quot;

Then it says &quot;Copying read write contents to tmpfs&quot; and throws a bunch of &quot;cp: etc no such file or directory&quot; errors and &quot;switch_root: bad init &apos;/sbin/init&apos;&quot; and boom kernel panic.

Seems like the root of the problem is the mount problem. When I made it die earlier in the process by creating a livecd directory instead of livecd file in the root folder of the CD, it threw me into shell where I could see /dev/loop0 being there. And when I manually fired the same command which mounts the squashfs file system, it threw the same &quot;Invalid argument&quot; error, although all arguments were valid (at least the paths).

The kernel has support for loopback.

Got any ideas?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>agaffney@gentoo.org</who>
            <bug_when>2008-02-06 04:09:30 0000</bug_when>
            <thetext>That&apos;s a completely different issue. Try downgrading squashfs-tools or using a newer gentoo-sources (like 2.6.24) that is patched for squashfs-3.3 support. I ran into this same problem while testing the fix for this bug. Downgrading squashfs-tools and recreating the squashfs fixed it.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wolf31o2@gentoo.org</who>
            <bug_when>2008-02-14 04:32:40 0000</bug_when>
            <thetext>I just released genkernel 3.4.10_pre1, which has this fix included.  Feel free to REOPEN this bug or make a comment if it is not resolved.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>funtoos@yahoo.com</who>
            <bug_when>2008-03-09 05:24:21 0000</bug_when>
            <thetext>I am still hitting &quot;mount: Mounting /dev/loop0 on /newroot/mnt/livecd failed: Invalid argument&quot;, with squashfs-tools-3.2_p2 (tried 3.3 as well), gentoo-sources-2.6.24 and genkernel-3.4.10_pre4. And I kept wondering why it panics instead of throwing the shell. And then, I found a bug with test_success:

test_success() {
        error_string=$1
        error_string=&quot;${error_string:-run command}&quot;
        # If last command failed send error message and fall back to a shell
        if [ &quot;$?&quot; != &apos;0&apos; ]
        then
                bad_msg &apos;Failed to $1; failing back to the shell...&apos;
                run_shell
        fi
}

That $? check will always succeed because error_string=&quot;${error_string:-run command}&quot; always succeeds. You need to store $? before hand, as soon as you enter the function.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>funtoos@yahoo.com</who>
            <bug_when>2008-03-23 15:39:34 0000</bug_when>
            <thetext>the above problem is being followed up in another bug:

http://bugs.gentoo.org/show_bug.cgi?id=212794</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>142715</attachid>
            <date>2008-02-05 12:26 0000</date>
            <desc>diff since 3.4.9</desc>
            <filename>genkernel-3.4.9.diff</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDU4MCkK
KysrIENoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMiw2ICsyLDQ5IEBACiAjIENvcHlyaWdo
dCAyMDA2LTIwMDggR2VudG9vIEZvdW5kYXRpb247IERpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHUEwg
djIKICMgJEhlYWRlcjogJAogCisgIDA0IEZlYiAyMDA4OyBBbmRyZXcgR2FmZm5leSA8YWdhZmZu
ZXlAZ2VudG9vLm9yZz4gZ2VuZXJpYy9pbml0cmQuc2NyaXB0czoKKyAgQ2hhbmdlICY+L2Rldi9u
dWxsIHRvID4vZGV2L251bGwgMj4mMSBiZWNhdXNlIGJ1c3lib3ggYXNoIHN1Y2tzCisKKyAgMDQg
RmViIDIwMDg7IEFuZHJldyBHYWZmbmV5IDxhZ2FmZm5leUBnZW50b28ub3JnPiBnZW5lcmljL2lu
aXRyZC5zY3JpcHRzLAorICBnZW5lcmljL2xpbnV4cmM6CisgIFN3aXRjaCB0byBkb3VibGUgcXVv
dGVzIHdoZXJlIHdlJ3JlIGludGVycG9sYXRpbmcgdmFyaWFibGVzLCBiZWNhdXNlIEkgc3Vjawor
CisgIDAzIEZlYiAyMDA4OyBBbmRyZXcgR2FmZm5leSA8YWdhZmZuZXlAZ2VudG9vLm9yZz4gc3Bh
cmM2NC9tb2R1bGVzX2xvYWQ6CisgIEFkZCBxbGEyeHh4IHRvIHNwYXJjNjQncyBNT0RVTEVTX1ND
U0kKKworICAwMyBGZWIgMjAwODsgQW5kcmV3IEdhZmZuZXkgPGFnYWZmbmV5QGdlbnRvby5vcmc+
IGdlbl9jbWRsaW5lLnNoLAorICBnZW5fZGV0ZXJtaW5lYXJncy5zaCwgZ2VuX21vZGRlcHMuc2g6
CisgIEFkZCAtLWFsbC1pbml0cmQtbW9kdWxlcyBvcHRpb24gdG8gY29weSBhbGwga2VybmVsIG1v
ZHVsZXMgaW50bworICBpbml0cmQvcmFtZnMuIFRoaXMgaXMgdXNlZnVsIGZvciBuZXRib290IGlt
YWdlcworCisgIDAzIEZlYiAyMDA4OyBBbmRyZXcgR2FmZm5leSA8YWdhZmZuZXlAZ2VudG9vLm9y
Zz4gZ2VuZXJpYy9pbml0cmQuc2NyaXB0cywKKyAgZ2VuZXJpYy9saW51eHJjOgorICBBZGQgc2V0
dXBfaG90cGx1ZygpIGZ1bmN0aW9uIHRoYXQgcnVucyBiZWZvcmUgdGhlIG1vZHVsZXMgYXJlIGxv
YWRlZCB0bworICBzZXR1cCBtZGV2IGFzIHRoZSBob3RwbHVnIGV2ZW50IGhhbmRsZXIuIEFkZCAk
S1YgdG8gL2xpYi9tb2R1bGVzIGFueXdoZXJlIGl0CisgIG9jY3VycyB0byBhbGxvdyBmb3IgYW4g
aW5pdHJhbWZzIHdpdGggbXVsdGlwbGUgc2V0cyBvZiBtb2R1bGVzCisKKyAgMDMgRmViIDIwMDg7
IEFuZHJldyBHYWZmbmV5IDxhZ2FmZm5leUBnZW50b28ub3JnPiBnZW5fY29uZmlna2VybmVsLnNo
LAorICBnZW5rZXJuZWwuY29uZjoKKyAgQ2xlYW4gdXAgT0xEQ09ORklHIGxvZ2ljIGFuZCBkZWZh
dWx0IHRvIE9MRENPTkZJRz15ZXMuIFRoaXMgaXMgZm9yIGJ1ZyAyMDc4OTUKKworICAwMiBGZWIg
MjAwODsgQ2hyaXMgR2lhbmVsbG9uaSA8d29sZjMxbzJAZ2VudG9vLm9yZz4gZ2VuZXJpYy9saW51
eHJjOgorICBNb3ZpbmcgdGhlIGNvZGUgdG8gc3RhcnQgcmVzdW1lIG9wZXJhdGlvbnMgc28gaXQg
ZG9lc24ndCBydW4gd2hlbiBib290aW5nCisgIGZyb20gQ0QuIFdlIGFsc28gZG9uJ3QgZXhlY3V0
ZSB0aGUgY29kZSBpZiB0aGVyZSdzIG5vIHJlYWxfcmVzdW1lIHNldCBvbiB0aGUKKyAgY29tbWFu
ZCBsaW5lLCBzaW5jZSBpdCB3aWxsIGZhaWwsIGFueXdheSwgd2l0aG91dCBpdC4KKworICAwMiBG
ZWIgMjAwODsgQW5kcmV3IEdhZmZuZXkgPGFnYWZmbmV5QGdlbnRvby5vcmc+IGFscGhhL21vZHVs
ZXNfbG9hZCwKKyAgaWE2NC9tb2R1bGVzX2xvYWQsIHBwYy9tb2R1bGVzX2xvYWQsIHBwYzY0L21v
ZHVsZXNfbG9hZCwgdW0vbW9kdWxlc19sb2FkLAorICB4ODYvbW9kdWxlc19sb2FkLCB4ODZfNjQv
bW9kdWxlc19sb2FkLCB4ZW4wL21vZHVsZXNfbG9hZCwKKyAgeGVuVS9tb2R1bGVzX2xvYWQ6Cisg
IGFkZCBtZWdhcmFpZCBtb2R1bGUgdG8gTU9EVUxFU19TQ1NJIGZvciBidWcgMjA2MDM5CisKKyAg
MDIgRmViIDIwMDg7IEFuZHJldyBHYWZmbmV5IDxhZ2FmZm5leUBnZW50b28ub3JnPiBnZW5lcmlj
L21vZHByb2JlOgorICBzcGVjaWZ5IHRoZSBrZXJuZWwgdmVyc2lvbiB3aGVuIGxvb2tpbmcgZm9y
IGEgbW9kdWxlIGZvciBidWcgMjA4NTkzCisKKyAgMDIgRmViIDIwMDg7IENocmlzIEdpYW5lbGxv
bmkgPHdvbGYzMW8yQGdlbnRvby5vcmc+CisgIGdlbmVyaWMvaW5pdHJkLmRlZmF1bHRzLCBnZW5l
cmljL2luaXRyZC5zY3JpcHRzOgorICBSZW1vdmVkIHJ1blVkZXYsIHNpbmNlIHdlIG5vIGxvbmdl
ciB1c2UgaXQuCisKICAgMTEgSmFuIDIwMDg7IENocmlzIEdpYW5lbGxvbmkgPHdvbGYzMW8yQGdl
bnRvby5vcmc+IGdlbl9pbml0cmFtZnMuc2gsCiAgIGdlbl9pbml0cmQuc2gsIGdlbmtlcm5lbDoK
ICAgRml4aW5nIGEgcHJvYmxlbSB3aGVyZSB3ZSB3ZXJlIGNvcHlpbmcgdGhlIGJ1c3lib3ggYmlu
YXJ5IGNhY2hlIGludG8gdGhlCkluZGV4OiBnZW5lcmljL2luaXRyZC5zY3JpcHRzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIGdlbmVyaWMvaW5pdHJkLnNjcmlwdHMJKHJldmlzaW9uIDU4MCkKKysrIGdlbmVyaWMv
aW5pdHJkLnNjcmlwdHMJKHdvcmtpbmcgY29weSkKQEAgLTUwLDcgKzUwLDcgQEAKIAkJdGhlbgog
CQkJWyAtbiAiJHtERUJVR30iIF0gJiYgZWNobyAtbmUgIiR7Qk9MRH0gICA6OiR7Tk9STUFMfSBD
aGVja2luZyBmb3IgJHt4fS4uLiIKIAkJCSMgZmluZCAtbmFtZSBkb2VzIG5vdCB3b3JrIHNpbmNl
IHRoZSByZXR1cm4gc3RhdHVzIGlzIGFsd2F5cyB6ZXJvCi0JCQlpZiBmaW5kIC9saWIvbW9kdWxl
cyB8IGdyZXAgLyIke3h9JHtLU1VGRn0iID4vZGV2L251bGwgMj4mMQorCQkJaWYgZmluZCAvbGli
L21vZHVsZXMvJHtLVn0gfCBncmVwIC8iJHt4fSR7S1NVRkZ9IiA+L2Rldi9udWxsIDI+JjEKIAkJ
CXRoZW4KIAkJCQllY2hvIC1uZSAiJHtCT0xEfSAgIDo6JHtOT1JNQUx9IFNjYW5uaW5nIGZvciAk
e3h9Li4uIgogCQkJCW1vZHByb2JlICR7eH0gLW4KQEAgLTk5LDcgKzk5LDcgQEAKICMJCQkJZWxz
ZQogIwkJCQkJbW91bnQgLXIgLXQgYXV0byAke3h9ICR7bW50ZGlyfSAmPi9kZXYvbnVsbAogIwkJ
CQlmaQotCQkJCW1vdW50IC1yIC10ICR7Q0RST09UX1RZUEV9ICR7eH0gJHttbnRkaXJ9ICY+L2Rl
di9udWxsCisJCQkJbW91bnQgLXIgLXQgJHtDRFJPT1RfVFlQRX0gJHt4fSAke21udGRpcn0gPi9k
ZXYvbnVsbCAyPiYxCiAJCQkJaWYgWyAiJD8iID0gJzAnIF0KIAkJCQl0aGVuCiAJCQkJCSMgQ2hl
Y2sgZm9yIHRoZSBtZWRpYQpAQCAtMjY5LDggKzI2OSw4IEBACiAJCQkJZWxzZQogCQkJCQliYWRf
bXNnICJORlMgTW91bnRpbmcgZmFpbGVkLiBJcyB0aGUgcGF0aCBjb3JyZWN0ID8iCiAJCQkJZmkK
LQkJCQkjIEZJWE1FOiBOZWVkIHRvIHN0YXJ0IHBvcnRtYXAgYW5kIHRoZSBvdGhlciBycGMgZGFl
bW9ucyBpbiBvcmRlciB0bwotCQkJCSMgRklYTUU6IHJlbW91bnQgcncuCisJCQkJIyBGSVhNRTog
TmVlZCB0byBzdGFydCBwb3J0bWFwIGFuZCB0aGUgb3RoZXIgcnBjIGRhZW1vbnMgaW4KKwkJCQkj
IG9yZGVyIHRvIHJlbW91bnQgcncuCiAJCQlmaQogCiAJCWZpCkBAIC0yOTcsMzggKzI5Nyw5IEBA
CiAJL2Jpbi9hc2gKIH0KIAotcnVuVWRldigpIHsKLQltb3VudCAtdCB0bXBmcyAtbyBzaXplPTEw
MGsgdWRldiAvZGV2Ci0JbWtkaXIgL2Rldi9wdHMKLQlta2RpciAvZGV2L3NobQotCWVjaG8gID4g
L3Byb2Mvc3lzL2tlcm5lbC9ob3RwbHVnIAotCS9zYmluL3VkZXZkIC0tZGFlbW9uCi0JbWtkaXIg
LXAgL2Rldi8udWRldi9xdWV1ZQotCS9zYmluL3VkZXZ0cmlnZ2VyCi0KLQlnb29kX21zZyAnTGV0
dGluZyB1ZGV2IHByb2Nlc3MgZXZlbnRzJwotCWxvb3A9MAotCXdoaWxlIHRlc3QgLWQgL2Rldi8u
dWRldi9xdWV1ZTsgZG8KLQkJc2xlZXAgMTsKLQkJdGVzdCAiJGxvb3AiIC1ndCAzMCAmJiBicmVh
awotCQlsb29wPSQoKCRsb29wICsgMSkpCi0JZG9uZQotCWdvb2RfbXNnICJVZGV2IGZpbmlzaGVk
IHByb2Njc2luZyBhZnRlciAkbG9vcCBpdGVyYXRpb25zIgotCi0Ja2lsbGFsbCB1ZGV2ZCA+IC9k
ZXYvbnVsbCAyPiYxCi0JbG4gLXNuZiAvcHJvYy9zZWxmL2ZkIC9kZXYvZmQKLQlsbiAtc25mIC9w
cm9jL3NlbGYvZmQvMCAvZGV2L3N0ZGluCi0JbG4gLXNuZiAvcHJvYy9zZWxmL2ZkLzEgL2Rldi9z
dGRvdXQKLQlsbiAtc25mIC9wcm9jL3NlbGYvZmQvMiAvZGV2L3N0ZGVycgotCWxuIC1zbmYgL3By
b2Mva2NvcmUgL2Rldi9jb3JlCi19Ci0KIHJ1bm1kZXYoKSB7CiAJIyBidXN5Ym94IHVkZXYgcmVw
bGFjZW1lbnQKIAltZGV2IC1zCi0KLQkjIGNhdGNoIHVkZXYgaG90cGx1ZyBldmVudHMKLQllY2hv
IC9zYmluL21kZXYgPiAvcHJvYy9zeXMva2VybmVsL2hvdHBsdWcKIH0KIAogdGVzdF9zdWNjZXNz
KCkgewpAQCAtMzc5LDcgKzM1MCw4IEBACiB9CiAKIHdoZXJlaXMoKXsKLQkjICQxID0gdmFyaWFi
bGUgd2hvc2UgdmFsdWUgaXMgdGhlIHBhdGggKGV4YW1wbGVzOiAiUkVBTF9ST09UIiwgIkxVS1Nf
S0VZREVWIikKKwkjICQxID0gdmFyaWFibGUgd2hvc2UgdmFsdWUgaXMgdGhlIHBhdGggKGV4YW1w
bGVzOiAiUkVBTF9ST09UIiwKKwkjICAgICAgIkxVS1NfS0VZREVWIikKIAkjICQyID0gbGFiZWwK
IAkjICQzID0gb3B0aW9uYWwgZXhwbGFuYXRpb25zIGZvciBmYWlsdXJlCiAKQEAgLTQxNiw2ICsz
ODgsMjIgQEAKIAltb3VudCAtbyBiaW5kICR7TkVXX1JPT1R9L2RldiAvZGV2CiB9CiAKK3NldHVw
X2hvdHBsdWcoKSB7CisJIyBDaGVjayB1ZGV2IGlzIGF2YWlsYWJsZS4uLgorCWlmIFsgIiR7S1Zf
Ml82X09SX0dSRUFURVJ9IiAtYSAiJHtVU0VfVURFVl9OT1JNQUx9IiAhPSAnMCcgXQorCXRoZW4K
KwkJVVNFX1VERVZfTk9STUFMPTEKKwllbHNlCisJCVVTRV9VREVWX05PUk1BTD0wCisJZmkKKwor
CWlmIFsgIiR7VVNFX1VERVZfTk9STUFMfSIgPSAnMScgXQorCXRoZW4KKwkJIyBjYXRjaCB1ZGV2
IGhvdHBsdWcgZXZlbnRzCisJCWVjaG8gL3NiaW4vbWRldiA+IC9wcm9jL3N5cy9rZXJuZWwvaG90
cGx1ZworCWZpCit9CisKIHN0YXJ0X2Rldl9tZ3IoKSB7CiAJIyBDaGVjayB1ZGV2IGlzIGF2YWls
YWJsZS4uLgogCWlmIFsgIiR7S1ZfMl82X09SX0dSRUFURVJ9IiAtYSAiJHtVU0VfVURFVl9OT1JN
QUx9IiAhPSAnMCcgXQpAQCAtNDMxLDcgKzQxOSw2IEBACiAJCVsgIiR7RE9fc2xvd3VzYn0iIF0g
JiYgc2xlZXAgMTAKIAkJa2lsbF9kZXZmc2QKIAkJZ29vZF9tc2cgJ0FjdGl2YXRpbmcgbWRldicK
LSMJCXJ1blVkZXYKIAkJcnVubWRldgogCQlbICIke0RPX3Nsb3d1c2J9IiBdICYmIHNsZWVwIDIw
CiAJCWNkIC8KQEAgLTQ4Niw5ICs0NzMsOSBAQAogfQogCiBsb2FkX21vZHVsZXMoKSB7Ci0JIyBM
b2FkIG1vZHVsZXMgbGlzdGVkIGluIE1ZX0hXT1BUUyBpZiAvbGliL21vZHVsZXMgZXhpc3RzCisJ
IyBMb2FkIG1vZHVsZXMgbGlzdGVkIGluIE1ZX0hXT1BUUyBpZiAvbGliL21vZHVsZXMgZXhpc3Rz
IGZvciB0aGUgcnVubmluZyBrZXJuZWwKIAkKLQlpZiBbIC1kICcvbGliL21vZHVsZXMnIF0KKwlp
ZiBbIC1kICIvbGliL21vZHVsZXMvJHtLVn0iIF0KIAl0aGVuCiAJCWdvb2RfbXNnICdMb2FkaW5n
IG1vZHVsZXMnCiAJCSMgTG9hZCBhcHByb3ByaWF0ZSBrZXJuZWwgbW9kdWxlcwpJbmRleDogZ2Vu
ZXJpYy9pbml0cmQuZGVmYXVsdHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZ2VuZXJpYy9pbml0cmQuZGVmYXVs
dHMJKHJldmlzaW9uIDU4MCkKKysrIGdlbmVyaWMvaW5pdHJkLmRlZmF1bHRzCSh3b3JraW5nIGNv
cHkpCkBAIC01Miw3ICs1Miw3IEBACiBLTUFKT1I9YGVjaG8gJEtWIHwgY3V0IC1mMSAtZC5gCiBL
TUlOT1I9YGVjaG8gJEtWIHwgY3V0IC1mMiAtZC5gCiBLVkVSPSIke0tNQUpPUn0uJHtLTUlOT1J9
IgotTUlTQ09QVFM9J2lkZWJ1ZyBkZXRlY3QnCitNSVNDT1BUUz0nZGVidWcgZGV0ZWN0JwogCiBp
ZiBbICIke0tNQUpPUn0iIC1lcSAyIC1hICIke0tNSU5PUn0iIC1nZSAnNicgXQogdGhlbgpJbmRl
eDogZ2VuZXJpYy9saW51eHJjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdlbmVyaWMvbGludXhyYwkocmV2aXNp
b24gNTgwKQorKysgZ2VuZXJpYy9saW51eHJjCSh3b3JraW5nIGNvcHkpCkBAIC0yMjAsOCArMjIw
LDExIEBACiBkZXRlY3Rfc2JwMl9kZXZpY2VzCiBjbWRsaW5lX2h3b3B0cwogCi0jIExvYWQgbW9k
dWxlcyBsaXN0ZWQgaW4gTVlfSFdPUFRTIGlmIC9saWIvbW9kdWxlcyBleGlzdHMKLWlmIFsgLWQg
Jy9saWIvbW9kdWxlcycgXQorIyBTZXR1cCBob3RwbHVnZ2luZyBmb3IgZmlybXdhcmUgbG9hZGlu
Zworc2V0dXBfaG90cGx1ZworCisjIExvYWQgbW9kdWxlcyBsaXN0ZWQgaW4gTVlfSFdPUFRTIGlm
IC9saWIvbW9kdWxlcyBleGlzdHMgZm9yIHRoZSBydW5uaW5nIGtlcm5lbAoraWYgWyAtZCAiL2xp
Yi9tb2R1bGVzLyR7S1Z9IiBdCiB0aGVuCiAJZ29vZF9tc2cgJ0xvYWRpbmcgbW9kdWxlcycKIAkj
IExvYWQgYXBwcm9wcmlhdGUga2VybmVsIG1vZHVsZXMKQEAgLTI2Miw2ICsyNjUsMTMgQEAKIGlm
IFsgIiR7Q0RST09UfSIgIT0gMSBdCiB0aGVuCiAJc3RhcnRMVUtTCisJaWYgWyAiJHtOT1JFU1VN
RX0iICE9ICcxJyBdICYmIFsgLW4gIiR7UkVBTF9SRVNVTUV9IiBdCisJdGhlbgorCQlzd3N1c3Bf
cmVzdW1lCisjCQlzdXNwZW5kX3Jlc3VtZQorIwkJc3VzcGVuZDJfcmVzdW1lCisJCXR1eG9uaWNl
X3Jlc3VtZQorCWZpCiBmaQogCiAjIFNldCB1cCB1bmlvbmZzCkBAIC0yNzgsMTQgKzI4OCw2IEBA
CiAjIFJ1biBkZWJ1ZyBzaGVsbCBpZiByZXF1ZXN0ZWQKIHJ1bmRlYnVnc2hlbGwKIAotaWYgWyAi
JHtOT1JFU1VNRX0iICE9ICcxJyBdCi10aGVuCi0Jc3dzdXNwX3Jlc3VtZQotIwlzdXNwZW5kX3Jl
c3VtZQotIwlzdXNwZW5kMl9yZXN1bWUKLQl0dXhvbmljZV9yZXN1bWUKLWZpCi0KIGlmIFsgIiR7
Q0RST09UfSIgPSAnMScgXQogdGhlbgogCWlmIFsgISAiJHtVU0VfVU5JT05GU19OT1JNQUx9IiA9
ICcxJyBdCkluZGV4OiBnZW5lcmljL21vZHByb2JlCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGdlbmVyaWMvbW9k
cHJvYmUJKHJldmlzaW9uIDU4MCkKKysrIGdlbmVyaWMvbW9kcHJvYmUJKHdvcmtpbmcgY29weSkK
QEAgLTYzLDcgKzYzLDcgQEAKIAogcmVhbF9tb2RfcGF0aCgpIHsKIAkjIEZpbmQgLW5hbWUgaXMg
bm8gZ29vZCBzaW5jZSB0aGUgcmV0dXJuIHN0YXR1cyBpcyBhbHdheXMgemVybwotCWZpbmQgL2xp
Yi9tb2R1bGVzIHwgZ3JlcCAvIiR7MX0ke0tTVUZGfSIKKwlmaW5kICIvbGliL21vZHVsZXMvJHtL
Vn0iIHwgZ3JlcCAvIiR7MX0ke0tTVUZGfSIKIH0KIAogbW9kcHJvYmUyKCkgewpJbmRleDogdW0v
bW9kdWxlc19sb2FkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHVtL21vZHVsZXNfbG9hZAkocmV2aXNpb24gNTgw
KQorKysgdW0vbW9kdWxlc19sb2FkCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiBz
ZWFnYXRlIHQxMjggdTE0LTM0ZiB1bHRyYXN0b3Igd2Q3MDAwIE5DUjUzYzQwNmEgc3ltNTNjOHh4
IGRteDMxOTFkIGltbSBcCiBpbjIwMDAgaXBzIHFsYTEyODAgc2ltNzEwIHN5bTUzYzQxNiBkYzM5
NXggYXRwODcwdSBtcHRiYXNlIG1wdHNjc2loIFwKIG1wdHNwaSBtcHRmYyBtcHRzYXMgM3cteHh4
eCAzdy05eHh4IGNwcWFycmF5IGNjaXNzIERBQzk2MCBzeDggYWFjcmFpZCBcCi1tZWdhcmFpZF9t
Ym94IG1lZ2FyYWlkX21tIG1lZ2FyYWlkX3NhcyBscGZjIHNjc2lfdHJhbnNwb3J0X2ZjIHNjc2lf
d2FpdF9zY2FuIgorbWVnYXJhaWQgbWVnYXJhaWRfbWJveCBtZWdhcmFpZF9tbSBtZWdhcmFpZF9z
YXMgbHBmYyBzY3NpX3RyYW5zcG9ydF9mYyBzY3NpX3dhaXRfc2NhbiIKIAogIyBIYXJkd2FyZSAo
TmV0d29yaykKIE1PRFVMRVNfTkVUPSJlMTAwMCB0ZzMiCkluZGV4OiBzcGFyYzY0L21vZHVsZXNf
bG9hZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBzcGFyYzY0L21vZHVsZXNfbG9hZAkocmV2aXNpb24gNTgwKQor
Kysgc3BhcmM2NC9tb2R1bGVzX2xvYWQJKHdvcmtpbmcgY29weSkKQEAgLTEsNCArMSw0IEBACi1N
T0RVTEVTX1NDU0k9IiIKK01PRFVMRVNfU0NTST0icWxhMnh4eCIKIE1PRFVMRVNfRklSRVdJUkU9
IiIKIE1PRFVMRVNfQVRBUkFJRD0iIgogTU9EVUxFU19QQ01DSUE9IiIKSW5kZXg6IHBwYy9tb2R1
bGVzX2xvYWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gcHBjL21vZHVsZXNfbG9hZAkocmV2aXNpb24gNTgwKQor
KysgcHBjL21vZHVsZXNfbG9hZAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogc2Vh
Z2F0ZSB0MTI4IHUxNC0zNGYgdWx0cmFzdG9yIHdkNzAwMCBOQ1I1M2M0MDZhIHN5bTUzYzh4eCBk
bXgzMTkxZCBpbW0gXAogaW4yMDAwIGlwcyBxbGExMjgwIHNpbTcxMCBzeW01M2M0MTYgZGMzOTV4
IGF0cDg3MHUgbXB0YmFzZSBtcHRzY3NpaCBcCiBtcHRzcGkgbXB0ZmMgbXB0c2FzIDN3LXh4eHgg
M3ctOXh4eCBjcHFhcnJheSBjY2lzcyBEQUM5NjAgc3g4IGFhY3JhaWQgXAotbWVnYXJhaWRfbWJv
eCBtZWdhcmFpZF9tbSBtZWdhcmFpZF9zYXMgbHBmYyBzY3NpX3RyYW5zcG9ydF9mYyBzY3NpX3dh
aXRfc2NhbiIKK21lZ2FyYWlkIG1lZ2FyYWlkX21ib3ggbWVnYXJhaWRfbW0gbWVnYXJhaWRfc2Fz
IGxwZmMgc2NzaV90cmFuc3BvcnRfZmMgc2NzaV93YWl0X3NjYW4iCiAKICMgSGFyZHdhcmUgKE5l
dHdvcmspCiBNT0RVTEVTX05FVD0iZTEwMDAgdGczIgpJbmRleDogYWxwaGEvbW9kdWxlc19sb2Fk
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIGFscGhhL21vZHVsZXNfbG9hZAkocmV2aXNpb24gNTgwKQorKysgYWxw
aGEvbW9kdWxlc19sb2FkCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiBzZWFnYXRl
IHQxMjggdTE0LTM0ZiB1bHRyYXN0b3Igd2Q3MDAwIE5DUjUzYzQwNmEgc3ltNTNjOHh4IGRteDMx
OTFkIGltbSBcCiBpbjIwMDAgaXBzIHFsYTEyODAgc2ltNzEwIHN5bTUzYzQxNiBkYzM5NXggYXRw
ODcwdSBtcHRiYXNlIG1wdHNjc2loIFwKIG1wdHNwaSBtcHRmYyBtcHRzYXMgM3cteHh4eCAzdy05
eHh4IGNwcWFycmF5IGNjaXNzIERBQzk2MCBzeDggYWFjcmFpZCBcCi1tZWdhcmFpZF9tYm94IG1l
Z2FyYWlkX21tIG1lZ2FyYWlkX3NhcyBscGZjIHNjc2lfdHJhbnNwb3J0X2ZjIHNjc2lfd2FpdF9z
Y2FuIgorbWVnYXJhaWQgbWVnYXJhaWRfbWJveCBtZWdhcmFpZF9tbSBtZWdhcmFpZF9zYXMgbHBm
YyBzY3NpX3RyYW5zcG9ydF9mYyBzY3NpX3dhaXRfc2NhbiIKIAogIyBIYXJkd2FyZSAoTmV0d29y
aykKIE1PRFVMRVNfTkVUPSJlMTAwMCB0ZzMiCkluZGV4OiBpYTY0L21vZHVsZXNfbG9hZAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBpYTY0L21vZHVsZXNfbG9hZAkocmV2aXNpb24gNTgwKQorKysgaWE2NC9tb2R1
bGVzX2xvYWQJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIHNlYWdhdGUgdDEyOCB1
MTQtMzRmIHVsdHJhc3RvciB3ZDcwMDAgTkNSNTNjNDA2YSBzeW01M2M4eHggZG14MzE5MWQgaW1t
IFwKIGluMjAwMCBpcHMgcWxhMTI4MCBzaW03MTAgc3ltNTNjNDE2IGRjMzk1eCBhdHA4NzB1IG1w
dGJhc2UgbXB0c2NzaWggXAogbXB0c3BpIG1wdGZjIG1wdHNhcyAzdy14eHh4IDN3LTl4eHggY3Bx
YXJyYXkgY2Npc3MgREFDOTYwIHN4OCBhYWNyYWlkIFwKLW1lZ2FyYWlkX21ib3ggbWVnYXJhaWRf
bW0gbWVnYXJhaWRfc2FzIGxwZmMgc2NzaV90cmFuc3BvcnRfZmMgc2NzaV93YWl0X3NjYW4iCitt
ZWdhcmFpZCBtZWdhcmFpZF9tYm94IG1lZ2FyYWlkX21tIG1lZ2FyYWlkX3NhcyBscGZjIHNjc2lf
dHJhbnNwb3J0X2ZjIHNjc2lfd2FpdF9zY2FuIgogCiAjIEhhcmR3YXJlIChOZXR3b3JrKQogTU9E
VUxFU19ORVQ9ImUxMDAwIHRnMyIKSW5kZXg6IGdlbl9jb25maWdrZXJuZWwuc2gKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gZ2VuX2NvbmZpZ2tlcm5lbC5zaAkocmV2aXNpb24gNTgwKQorKysgZ2VuX2NvbmZpZ2tl
cm5lbC5zaAkod29ya2luZyBjb3B5KQpAQCAtNDQsMTQgKzQ0LDkgQEAKIAkJcHJpbnRfaW5mbyAx
ICcgICAgICAgIFByZXZpb3VzIGNvbmZpZyBiYWNrZWQgdXAgdG8gLmNvbmZpZy5iYWsnCiAJCWNw
ICIke0tFUk5FTF9DT05GSUd9IiAiJHtLRVJORUxfRElSfS8uY29uZmlnIiB8fCBnZW5fZGllICdD
b3VsZCBub3QgY29weSBjb25maWd1cmF0aW9uIGZpbGUhJwogCWZpCi0JaWYgaXNUcnVlICIke0NM
RUFOfSIgfHwgaXNUcnVlICIke09MRENPTkZJR30iCisJaWYgaXNUcnVlICIke09MRENPTkZJR30i
CiAJdGhlbgotCQlpZiAhIGlzVHJ1ZSAiJHtDTEVBTn0iCi0JCXRoZW4KLQkJCXByaW50X2luZm8g
MSAnY29uZmlnOiA+PiBSdW5uaW5nIG9sZGNvbmZpZy4uLicKLQkJZWxzZQotCQkJcHJpbnRfaW5m
byAxICcgICAgICAgID4+IFJ1bm5pbmcgb2xkY29uZmlnLi4uJwotCQlmaQorCQlwcmludF9pbmZv
IDEgJyAgICAgICAgPj4gUnVubmluZyBvbGRjb25maWcuLi4nCiAJCXllcyAnJyAyPi9kZXYvbnVs
bCB8IGNvbXBpbGVfZ2VuZXJpYyBvbGRjb25maWcga2VybmVsIDI+L2Rldi9udWxsCiAJZmkKIAlp
ZiBpc1RydWUgIiR7Q0xFQU59IgpJbmRleDogZ2VuX2NtZGxpbmUuc2gKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
Z2VuX2NtZGxpbmUuc2gJKHJldmlzaW9uIDU4MCkKKysrIGdlbl9jbWRsaW5lLnNoCSh3b3JraW5n
IGNvcHkpCkBAIC00MCw2ICs0MCw3IEBACiAgIGVjaG8gIgktLXN5bWxpbmsJCU1hbmFnZSBzeW1s
aW5rcyBpbiAvYm9vdCBmb3IgaW5zdGFsbGVkIGltYWdlcyIKICAgZWNobyAiCS0tbm8tc3ltbGlu
awkJRG8gbm90IG1hbmFnZSBzeW1saW5rcyIKICAgZWNobyAiCS0tbm8taW5pdHJkbW9kdWxlcwlE
b24ndCBjb3B5IGFueSBtb2R1bGVzIHRvIHRoZSBpbml0cmQiCisgIGVjaG8gIgktLWFsbC1pbml0
cmQtbW9kdWxlcwlDb3B5IGFsbCBrZXJuZWwgbW9kdWxlcyB0byB0aGUgaW5pdHJkIgogICBlY2hv
ICIJLS1jYWxsYmFjaz08Li4uPglSdW4gdGhlIHNwZWNpZmllZCBhcmd1bWVudHMgYWZ0ZXIgdGhl
IgogICBlY2hvICIJCQkJa2VybmVsIGFuZCBtb2R1bGVzIGhhdmUgYmVlbiBjb21waWxlZCIKICAg
ZWNobyAiCS0tc3RhdGljCQlCdWlsZCBhIHN0YXRpYyAobW9ub2xpdGhpYyBrZXJuZWwpLiIKQEAg
LTM2OCw2ICszNjksMTAgQEAKIAkJCUNNRF9OT0lOSVRSRE1PRFVMRVM9MQogCQkJcHJpbnRfaW5m
byAyICJDTURfTk9JTklUUkRNT0RVTEVTOiAke0NNRF9OT0lOSVRSRE1PRFVMRVN9IgogCQkJOzsK
KwkJLS1hbGwtaW5pdHJkLW1vZHVsZXMpCisJCQlDTURfQUxMSU5JVFJETU9EVUxFUz0xCisJCQlw
cmludF9pbmZvIDIgIkNNRF9BTExJTklUUkRNT0RVTEVTOiAke0NNRF9BTExJTklUUkRNT0RVTEVT
fSIKKwkJCTs7CiAJCS0tY2FsbGJhY2s9KikKIAkJCUNNRF9DQUxMQkFDSz1gcGFyc2Vfb3B0ICIk
KiJgCiAJCQlwcmludF9pbmZvIDIgIkNNRF9DQUxMQkFDSzogJHtDTURfQ0FMTEJBQ0t9LyQqIgpJ
bmRleDogeGVuVS9tb2R1bGVzX2xvYWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0geGVuVS9tb2R1bGVzX2xvYWQJ
KHJldmlzaW9uIDU4MCkKKysrIHhlblUvbW9kdWxlc19sb2FkCSh3b3JraW5nIGNvcHkpCkBAIC0y
Niw3ICsyNiw3IEBACiBzZWFnYXRlIHQxMjggdTE0LTM0ZiB1bHRyYXN0b3Igd2Q3MDAwIE5DUjUz
YzQwNmEgc3ltNTNjOHh4IGRteDMxOTFkIGltbSBcCiBpbjIwMDAgaXBzIHFsYTEyODAgc2ltNzEw
IHN5bTUzYzQxNiBkYzM5NXggYXRwODcwdSBtcHRiYXNlIG1wdHNjc2loIFwKIG1wdHNwaSBtcHRm
YyBtcHRzYXMgM3cteHh4eCAzdy05eHh4IGNwcWFycmF5IGNjaXNzIERBQzk2MCBzeDggYWFjcmFp
ZCBcCi1tZWdhcmFpZF9tYm94IG1lZ2FyYWlkX21tIG1lZ2FyYWlkX3NhcyBscGZjIHNjc2lfdHJh
bnNwb3J0X2ZjIHNjc2lfd2FpdF9zY2FuIgorbWVnYXJhaWQgbWVnYXJhaWRfbWJveCBtZWdhcmFp
ZF9tbSBtZWdhcmFpZF9zYXMgbHBmYyBzY3NpX3RyYW5zcG9ydF9mYyBzY3NpX3dhaXRfc2NhbiIK
IAogIyBIYXJkd2FyZSAoTmV0d29yaykKIE1PRFVMRVNfTkVUPSJlMTAwMCB0ZzMiCkluZGV4OiB4
ODYvbW9kdWxlc19sb2FkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHg4Ni9tb2R1bGVzX2xvYWQJKHJldmlzaW9u
IDU4MCkKKysrIHg4Ni9tb2R1bGVzX2xvYWQJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcg
QEAKIHNlYWdhdGUgdDEyOCB1MTQtMzRmIHVsdHJhc3RvciB3ZDcwMDAgTkNSNTNjNDA2YSBzeW01
M2M4eHggZG14MzE5MWQgaW1tIFwKIGluMjAwMCBpcHMgcWxhMTI4MCBzaW03MTAgc3ltNTNjNDE2
IGRjMzk1eCBhdHA4NzB1IG1wdGJhc2UgbXB0c2NzaWggXAogbXB0c3BpIG1wdGZjIG1wdHNhcyAz
dy14eHh4IDN3LTl4eHggY3BxYXJyYXkgY2Npc3MgREFDOTYwIHN4OCBhYWNyYWlkIFwKLW1lZ2Fy
YWlkX21ib3ggbWVnYXJhaWRfbW0gbWVnYXJhaWRfc2FzIGxwZmMgc2NzaV90cmFuc3BvcnRfZmMg
c2NzaV93YWl0X3NjYW4iCittZWdhcmFpZCBtZWdhcmFpZF9tYm94IG1lZ2FyYWlkX21tIG1lZ2Fy
YWlkX3NhcyBscGZjIHNjc2lfdHJhbnNwb3J0X2ZjIHNjc2lfd2FpdF9zY2FuIgogCiAjIEhhcmR3
YXJlIChOZXR3b3JrKQogTU9EVUxFU19ORVQ9ImUxMDAwIHRnMyIKSW5kZXg6IGdlbl9kZXRlcm1p
bmVhcmdzLnNoCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIGdlbl9kZXRlcm1pbmVhcmdzLnNoCShyZXZpc2lvbiA1
ODApCisrKyBnZW5fZGV0ZXJtaW5lYXJncy5zaAkod29ya2luZyBjb3B5KQpAQCAtOTksNiArOTks
NyBAQAogCXNldF9jb25maWdfd2l0aF9vdmVycmlkZSAyIE1PRFVMRVNQQUNLQUdFICAgICAgIENN
RF9NT0RVTEVTUEFDS0FHRQogCXNldF9jb25maWdfd2l0aF9vdmVycmlkZSAyIEtFUk5DQUNIRSAg
ICAgICAgICAgIENNRF9LRVJOQ0FDSEUKIAlzZXRfY29uZmlnX3dpdGhfb3ZlcnJpZGUgMSBOT0lO
SVRSRE1PRFVMRVMgICAgICBDTURfTk9JTklUUkRNT0RVTEVTCisJc2V0X2NvbmZpZ193aXRoX292
ZXJyaWRlIDEgQUxMSU5JVFJETU9EVUxFUyAgICAgQ01EX0FMTElOSVRSRE1PRFVMRVMKIAlzZXRf
Y29uZmlnX3dpdGhfb3ZlcnJpZGUgMiBJTklUUkFNRlNfT1ZFUkxBWSAgICBDTURfSU5JVFJBTUZT
X09WRVJMQVkKIAlzZXRfY29uZmlnX3dpdGhfb3ZlcnJpZGUgMSBNT1VOVEJPT1QgICAgICAgICAg
ICBDTURfTU9VTlRCT09UCiAJc2V0X2NvbmZpZ193aXRoX292ZXJyaWRlIDEgQlVJTERfU1RBVElD
ICAgICAgICAgQ01EX1NUQVRJQwpJbmRleDogcHBjNjQvbW9kdWxlc19sb2FkCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIHBwYzY0L21vZHVsZXNfbG9hZAkocmV2aXNpb24gNTgwKQorKysgcHBjNjQvbW9kdWxlc19s
b2FkCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiBzZWFnYXRlIHQxMjggdTE0LTM0
ZiB1bHRyYXN0b3Igd2Q3MDAwIE5DUjUzYzQwNmEgc3ltNTNjOHh4IGRteDMxOTFkIGltbSBcCiBp
bjIwMDAgaXBzIHFsYTEyODAgc2ltNzEwIHN5bTUzYzQxNiBkYzM5NXggYXRwODcwdSBtcHRiYXNl
IG1wdHNjc2loIFwKIG1wdHNwaSBtcHRmYyBtcHRzYXMgM3cteHh4eCAzdy05eHh4IGNwcWFycmF5
IGNjaXNzIERBQzk2MCBzeDggYWFjcmFpZCBcCi1tZWdhcmFpZF9tYm94IG1lZ2FyYWlkX21tIG1l
Z2FyYWlkX3NhcyBscGZjIHNjc2lfdHJhbnNwb3J0X2ZjIHNjc2lfd2FpdF9zY2FuIgorbWVnYXJh
aWQgbWVnYXJhaWRfbWJveCBtZWdhcmFpZF9tbSBtZWdhcmFpZF9zYXMgbHBmYyBzY3NpX3RyYW5z
cG9ydF9mYyBzY3NpX3dhaXRfc2NhbiIKIAogIyBIYXJkd2FyZSAoTmV0d29yaykKIE1PRFVMRVNf
TkVUPSJlMTAwMCB0ZzMiCkluZGV4OiBnZW5fbW9kZGVwcy5zaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnZW5f
bW9kZGVwcy5zaAkocmV2aXNpb24gNTgwKQorKysgZ2VuX21vZGRlcHMuc2gJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNiArMSw2IEBACiAjIS9iaW4vYmFzaAogCi1tb2R1bGVzX2RlcF9saXN0KCkKK21v
ZHVsZXNfa2V4dCgpCiB7CiAJaWYgWyAiJHtQQVR9IiAtZ3QgIjQiIF0KIAl0aGVuCkBAIC04LDYg
KzgsMTIgQEAKIAllbHNlCiAJCUtFWFQ9Ii5vIgogCWZpCisJZWNobyAke0tFWFR9Cit9CisKK21v
ZHVsZXNfZGVwX2xpc3QoKQoreworCUtFWFQ9JChtb2R1bGVzX2tleHQpCiAJaWYgWyAtZiAke0lO
U1RBTExfTU9EX1BBVEh9L2xpYi9tb2R1bGVzLyR7S1Z9L21vZHVsZXMuZGVwIF0KIAl0aGVuCiAJ
CWNhdCAke0lOU1RBTExfTU9EX1BBVEh9L2xpYi9tb2R1bGVzLyR7S1Z9L21vZHVsZXMuZGVwIHwg
Z3JlcCAkezF9JHtLRVhUfVw6IHwgY3V0IC1kXDogIC1mMgpAQCAtNTQsMTYgKzYwLDIwIEBACiAK
IGdlbl9kZXBfbGlzdCgpCiB7Ci0JbG9jYWwgZ3JvdXBfbW9kdWxlcwkKLQlybSAtZiAke1RFTVB9
L21vZGRlcHMgPiAvZGV2L251bGwKKwlpZiBbICIke0FMTElOSVRSRE1PRFVMRVN9IiA9ICIxIiBd
OyB0aGVuCisJCXN0cmlwX21vZF9wYXRocyAkKGZpbmQgIiR7SU5TVEFMTF9NT0RfUEFUSH0vbGli
L21vZHVsZXMvJHtLVn0iIC1uYW1lICIqJChtb2R1bGVzX2tleHQpIikgfCBzb3J0CisJZWxzZQor
CQlsb2NhbCBncm91cF9tb2R1bGVzCQorCQlybSAtZiAke1RFTVB9L21vZGRlcHMgPiAvZGV2L251
bGwKIAkKLQlmb3IgZ3JvdXBfbW9kdWxlcyBpbiAkeyFNT0RVTEVTXyp9OyBkbwotCQlnZW5fZGVw
cyAkeyFncm91cF9tb2R1bGVzfQotCWRvbmUKKwkJZm9yIGdyb3VwX21vZHVsZXMgaW4gJHshTU9E
VUxFU18qfTsgZG8KKwkJCWdlbl9kZXBzICR7IWdyb3VwX21vZHVsZXN9CisJCWRvbmUKIAotCSMg
T25seSBsaXN0IGVhY2ggbW9kdWxlIG9uY2UKLQlpZiBbIC1mICR7VEVNUH0vbW9kZGVwcyBdCi0J
dGhlbgotCSAgICBjYXQgJHtURU1QfS9tb2RkZXBzIHwgc29ydCB8IHVuaXEKKwkJIyBPbmx5IGxp
c3QgZWFjaCBtb2R1bGUgb25jZQorCQlpZiBbIC1mICR7VEVNUH0vbW9kZGVwcyBdCisJCXRoZW4K
KwkJICAgIGNhdCAke1RFTVB9L21vZGRlcHMgfCBzb3J0IHwgdW5pcQorCQlmaQogCWZpCiB9Cklu
ZGV4OiBnZW5rZXJuZWwuY29uZgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBnZW5rZXJuZWwuY29uZgkocmV2aXNp
b24gNTgwKQorKysgZ2Vua2VybmVsLmNvbmYJKHdvcmtpbmcgY29weSkKQEAgLTgsOSArOCw3IEBA
CiAjID09PT09PT09PUNvbW1vbiBDb21tYW5kIExpbmUgT3B0aW9uIERlZmF1bHRzPT09PT09PT09
CiAKICMgUnVuICdtYWtlIG9sZGNvbmZpZycgYmVmb3JlIGNvbXBpbGluZyB0aGlzIGtlcm5lbD8K
LSMgSWYgc2V0IHRvICJ5ZXMiLCBhbHNvIHN1cHByZXNzZXMgdGhlIGZldGNoIG9mIHRoZSBrZXJu
ZWwgLmNvbmZpZyBmaWxlIGZyb20KLSMgL2V0Yy9rZXJuZWxzLCB0aHVzIHByZXNlcnZpbmcgdGhl
IC5jb25maWcgZmlsZSBpbiAvdXNyL3NyYy9saW51eC4KLSMgT0xEQ09ORklHPSJubyIKK09MRENP
TkZJRz0ieWVzIgogCiAjIFJ1biAnbWFrZSBtZW51Y29uZmlnJyBiZWZvcmUgY29tcGlsaW5nIHRo
aXMga2VybmVsPwogTUVOVUNPTkZJRz0ibm8iCkluZGV4OiB4ODZfNjQvbW9kdWxlc19sb2FkCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIHg4Nl82NC9tb2R1bGVzX2xvYWQJKHJldmlzaW9uIDU4MCkKKysrIHg4Nl82
NC9tb2R1bGVzX2xvYWQJKHdvcmtpbmcgY29weSkKQEAgLTI2LDcgKzI2LDcgQEAKIHNlYWdhdGUg
dDEyOCB1MTQtMzRmIHVsdHJhc3RvciB3ZDcwMDAgTkNSNTNjNDA2YSBzeW01M2M4eHggZG14MzE5
MWQgaW1tIFwKIGluMjAwMCBpcHMgcWxhMTI4MCBzaW03MTAgc3ltNTNjNDE2IGRjMzk1eCBhdHA4
NzB1IG1wdGJhc2UgbXB0c2NzaWggXAogbXB0c3BpIG1wdGZjIG1wdHNhcyAzdy14eHh4IDN3LTl4
eHggY3BxYXJyYXkgY2Npc3MgREFDOTYwIHN4OCBhYWNyYWlkIFwKLW1lZ2FyYWlkX21ib3ggbWVn
YXJhaWRfbW0gbWVnYXJhaWRfc2FzIGxwZmMgc2NzaV90cmFuc3BvcnRfZmMgc2NzaV93YWl0X3Nj
YW4iCittZWdhcmFpZCBtZWdhcmFpZF9tYm94IG1lZ2FyYWlkX21tIG1lZ2FyYWlkX3NhcyBscGZj
IHNjc2lfdHJhbnNwb3J0X2ZjIHNjc2lfd2FpdF9zY2FuIgogCiAjIEhhcmR3YXJlIChOZXR3b3Jr
KQogTU9EVUxFU19ORVQ9ImUxMDAwIHRnMyIKSW5kZXg6IHhlbjAvbW9kdWxlc19sb2FkCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIHhlbjAvbW9kdWxlc19sb2FkCShyZXZpc2lvbiA1ODApCisrKyB4ZW4wL21vZHVs
ZXNfbG9hZAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogc2VhZ2F0ZSB0MTI4IHUx
NC0zNGYgdWx0cmFzdG9yIHdkNzAwMCBOQ1I1M2M0MDZhIHN5bTUzYzh4eCBkbXgzMTkxZCBpbW0g
XAogaW4yMDAwIGlwcyBxbGExMjgwIHNpbTcxMCBzeW01M2M0MTYgZGMzOTV4IGF0cDg3MHUgbXB0
YmFzZSBtcHRzY3NpaCBcCiBtcHRzcGkgbXB0ZmMgbXB0c2FzIDN3LXh4eHggM3ctOXh4eCBjcHFh
cnJheSBjY2lzcyBEQUM5NjAgc3g4IGFhY3JhaWQgXAotbWVnYXJhaWRfbWJveCBtZWdhcmFpZF9t
bSBtZWdhcmFpZF9zYXMgbHBmYyBzY3NpX3RyYW5zcG9ydF9mYyBzY3NpX3dhaXRfc2NhbiIKK21l
Z2FyYWlkIG1lZ2FyYWlkX21ib3ggbWVnYXJhaWRfbW0gbWVnYXJhaWRfc2FzIGxwZmMgc2NzaV90
cmFuc3BvcnRfZmMgc2NzaV93YWl0X3NjYW4iCiAKICMgSGFyZHdhcmUgKE5ldHdvcmspCiBNT0RV
TEVTX05FVD0iZTEwMDAgdGczIgo=
</data>        

          </attachment>
    </bug>

</bugzilla>