<?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>22395</bug_id>
          
          <creation_ts>2003-06-07 08:01 0000</creation_ts>
          <short_desc>Java JRE/JDK upgrade, java-config &amp; browser plugins</short_desc>
          <delta_ts>2004-09-29 14:07:50 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Applications</component>
          <version>unspecified</version>
          <rep_platform>All</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>
          
          <blocked>31468</blocked>
          
          <everconfirmed>1</everconfirmed>
          <reporter>narada.sage@googlemail.com</reporter>
          <assigned_to>java@gentoo.org</assigned_to>
          <cc>azarah@gentoo.org</cc>
    
    <cc>brad@gentoo.org</cc>
    
    <cc>derk@zapville.org</cc>
    
    <cc>flash3001@yahoo.com</cc>
    
    <cc>solar@gentoo.org</cc>
    
    <cc>splite-gentoo@sigint.cs.purdue.edu</cc>

      

      
          <long_desc isprivate="0">
            <who>narada.sage@googlemail.com</who>
            <bug_when>2003-06-07 08:01:47 0000</bug_when>
            <thetext>Recently, I upgraded my JDK from sun-jdk-1.4.1.02 to sun-jdk-1.4.1.03 as part of
a routine update.  This caused the following problems.

(1) Browser plugin in /usr/lib/nsbrowser/plugins was not updated and so referred
to sun-jdk-1.4.1.02.  The ebuild gave message below.

* Not creating symlink for the java plugin, because there already is a java
plugin installed.

This meant that the plugin was referring to sun-jdk-1.4.1.02 (which had been
removed) rather than the new package sun-jdk-1.4.1.03.

(2) The system lost java command capability on the console as the system VM was
set to sun-jdk-1.4.1.02 which had been removed.

(3) The sun-jdk-1.4.1.03 package is compiled using gcc3 and does not work with
mozilla-firebird-bin.  The browser recognises it as 1.4.1_02-b06 rather than
1.4.1_03-b02 as it should do and as mozilla nightly does correctly.

(4) No mention was made in the postinst of the ebuild that the browser plugin
and java-config settings were now referring to an obselete JDK and that one
should update their settings.

Here are some proposed changes.

(1) All java ebuilds add to postinst einfo/ewarn messages such as below.

* If this is an upgrade of your JRE/JDK and 
* this is set as your default java VM then
* please run java-config to reassign your VM.

* If your java browser plugin is dependent on this package
* then please revise your plugin location.

(2) Greater automation could be adopted although my guess is that the user base
will be divided on their opinions on this subject.

A simple check by every JRE/JDK ebuild could be made to see if it is the current
system VM and if it is it could use java-config to reassign system VM to the new
package as last step.  The user VM would be left untouched.  Or it could simply
spit out the command to reassign system VM as an einfo message.

(3) Some policy should be decided about what plugin symlinks are made to
/usr/lib/nsbrowser/plugins.  Are gcc3 plugins to be added or only gcc2 plugins
to save breaking compatibility with browsers?  The answer to this depends on
your default browser.

firebird-bin = gcc2
firebird-cvs &amp; firebird = gcc3
mozilla = gcc3

Often I have wished that there were different plugin directories for gcc2 and
gcc3.  The argument against creating two different plugin directories is of
course that sometime in the future firebird-bin will be built with gcc3 whereas
right now the maintainer is using redhat 7.3 with gcc2.  Such a wait is
generally unpleasant and it is much easier to make changes on the user end.

As is evident, there are many issues which require thought here and both JRE/JDK
ebuilds and the java-config script must share the load of dealing with these
issues.  If java-config is further refined to take account of changing VM&apos;s on
the fly and of browser plugins then the ebuild can simply use that functionality.

This bug can serve as a focal point for change and contribution on this topic
and it has been made a normal bug rather than an enhancement since some things
are incorrect in their current state.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>narada.sage@googlemail.com</who>
            <bug_when>2003-06-07 08:09:59 0000</bug_when>
            <thetext>To extend change (3) a little more:

One can have a plugin directory for binaries in for example /opt/plugins and another for source packages in say /usr/lib/plugins and the browsers can simply symlink to these depending on whether they are binaries or source packages.

To add another proposed change about creating new browser plugins when upgrading J packages:

(4) A check can be made if the current java plugin symlink refers to package being unmerged and rather than leaving it there one can remove it and add a new one from new package.  I agree this is taking a considerable amount of liberty but certainly omitting new plugins on the basis that there are old and obselete plugins in the plugin directory is surely not suitable either.  If this change was not being made then a message about it would be useful too.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>brad@gentoo.org</who>
            <bug_when>2003-06-07 10:24:39 0000</bug_when>
            <thetext>This is hairy; 

(1) Yes, the ebuild should know that if it&apos;s an upgrade of itself the plugin should be symlinked forcibly

(2) Are you sure this is the case after running env-update or logging in again?

(3) The present upstream maintainer of the mozilla-firebird binary builds at mozilla.org is using RedHat 7.3 and doesn&apos;t appreciate that GCC 3 is what is used by a massive number of users now. I&apos;m trying to have him create a GCC 3 build.

</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>narada.sage@googlemail.com</who>
            <bug_when>2003-06-09 07:33:56 0000</bug_when>
            <thetext>In reply to your question, there may be no point in running env-update surely as the jdk that the default system VM referred to has now been removed.  When I reset the system vm to the new jdk and sourced profile all was well.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>aalmenar@gmail.com</who>
            <bug_when>2003-11-07 22:35:55 0000</bug_when>
            <thetext>I can make a patch for the upgrade to not break, but for now it need to set
the system vm to the latest JDK JRE installed.

I know its not the better solution for this but it can fix a lot of problems.
What you think about it ?

In java.eclass:

java_pkg_postinst() {
-	if [ -z `java-config --java 2&gt; /dev/null` ] ; then 
-		einfo &quot;No default VM found, setting ${VMHANDLE} as default&quot;
+		einfo &quot;Setting ${VMHANDLE} as default&quot;
+		einfo &quot;Use java-config to reassign your VM.&quot;
		java-config --set-system-vm=${VMHANDLE}
+		/usr/sbin/env-update
+		source /etc/profile
-	fi
}
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>aalmenar@gmail.com</who>
            <bug_when>2003-11-07 22:40:57 0000</bug_when>
            <thetext>*** Bug 17881 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>narada.sage@googlemail.com</who>
            <bug_when>2003-11-08 00:58:35 0000</bug_when>
            <thetext>Yes.  That sounds good.  I&apos;m also glad it applies the settings in the current
terminal rather an outputting a message about sourcing /etc/profile.  But
when you say the latest jdk do you mean the highest version or the most recently
emerged jdk?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>aalmenar@gmail.com</who>
            <bug_when>2003-11-08 07:18:51 0000</bug_when>
            <thetext>The most recently VM emerged its going to be set as the system default, cause
i cant find a way to make comment #0 point 2.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>aalmenar@gmail.com</who>
            <bug_when>2003-11-08 07:39:33 0000</bug_when>
            <thetext>*** Bug 30577 has been marked as a duplicate of this bug. ***</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>epapegaaij@orange.nl</who>
            <bug_when>2004-07-18 03:29:19 0000</bug_when>
            <thetext>Setting the system-vm to the latest emerged version is not a very good idea. On
My system, I&apos;ve got both jdk-1.4 and jdk-1.5 installed. Jdk-1.5 however breaks
a few packages (because of the &apos;enum&apos; keyword) and is not ready for production
use. I only use it for my personal projects. But with the current behaviour the
ebuild keeps setting it to the system default vm after an upgrade, and I have
to keep setting it back to 1.4. It even causes compilation failures when doing
an &apos;emerge -Du world&apos;.

I think it should only set the default vm when the newly installed version is
an upgrade of the installed version. That means, it has to be the same package
and the same slot.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>solar@gentoo.org</who>
            <bug_when>2004-09-22 00:21:17 0000</bug_when>
            <thetext>java guys what&apos;s the word on this bug it&apos;s 3+ months old. I just started running into it myself.
---------------------------------------------------------------------------------
LoadPlugin: failed to initialize shared library (m[/opt/blackdown-jdk-1.4.1_beta/jre/plugin/i386/mozilla/javaplugin_oji.so: undefined symbol: SetGlobalServiceManager__16nsServiceManagerPP17nsIServiceManager]
---------------------------------------------------------------------------------
This causes my freshly compiled mozilla to crash and burn at what seems to be about every 3-4th webpage I visit which causes me to be less productive which then results in less things getting fixed for gentoo users as a whole.

Downgrading mozilla is not an option either (GLSA-200409-26)

I&apos;m looking for a definitive solution to this problem rather quickly so I can be productive again. 

thanks in advance.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>axxo@gentoo.org</who>
            <bug_when>2004-09-22 04:42:47 0000</bug_when>
            <thetext>Thinking we should
1) force installation of the plugin and
2) change the plugin along with java-config --set-system-vm

any comments/objections?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>solar@gentoo.org</who>
            <bug_when>2004-09-22 17:37:13 0000</bug_when>
            <thetext>Well considering my mozilla has crashed about 40 from the time I last commented on this bug, I&apos;m game and object nothing that gets me back to a state that&apos;s functional.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>narada.sage@googlemail.com</who>
            <bug_when>2004-09-22 17:42:02 0000</bug_when>
            <thetext>Whatever you think best.  I&apos;ve no objections.  I wanted to make bugzilla aware of the problem.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>axxo@gentoo.org</who>
            <bug_when>2004-09-23 03:08:51 0000</bug_when>
            <thetext>i don&apos;t use mozilla, and absolutely hate applets
so i want to make sure i don&apos;t make it worse</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>brad@gentoo.org</who>
            <bug_when>2004-09-23 07:34:41 0000</bug_when>
            <thetext>One of the biggest problems is blackdown-jdk seems to download binaries compiled with gcc 2.95.3, even though there should be logic in the ebuild to determine the proper version to fetch. 

This is probably what&apos;s crashing mozilla.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>axxo@gentoo.org</who>
            <bug_when>2004-09-23 08:00:30 0000</bug_when>
            <thetext>there aren&apos;t any blackdown-jdk&apos;s in the tree any more that install a 2.95, and i tested it, that doesn&apos;t cauz mozilla to crash (for me at least)

solar why are you still using blackdown-jdk-1.4.1_beta?
that was removed from the tree 17months ago

the way plugins are installed atm is incosisent and can leave symlinks around that should be removed, i&apos;m attempting to clean it up

but lots jdk/jre&apos;s in the tree
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>solar@gentoo.org</who>
            <bug_when>2004-09-23 08:12:22 0000</bug_when>
            <thetext>hrmm 17 months. Clearly you can tell I like updating java :)
I&apos;ll attempt to update right now and hope that it resolves the problem and report back (success/failures)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>axxo@gentoo.org</who>
            <bug_when>2004-09-23 09:57:32 0000</bug_when>
            <thetext>Created an attachment (id=40229)
big-jre-jdk-plugin-cleanup.diff

since this (sorta majorly) changes the eclass
i would like some ppl to test &amp; comment if i&apos;m not being a dumbass</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>axxo@gentoo.org</who>
            <bug_when>2004-09-23 09:59:04 0000</bug_when>
            <thetext>and a typo in the first few lines of that patch :X

(no, i didn&apos;t test _every_ ebuild yet, gonna do that when/if i commit)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>solar@gentoo.org</who>
            <bug_when>2004-09-23 10:15:40 0000</bug_when>
            <thetext>Updated java. orig problem with unfedined references to symbol names appears to have gone away. End result of mozilla still crashing is the same on anything java related.

&quot;libgnomevfs-WARNING **: Unable to create ~/.gnome directory: Bad address&quot; and I&apos;ve updated just about everything else in the chain.

Thanks for your help but I&apos;m now thinking the bug lies elsewhere with the above.

I&apos;ll test your patches in about another 17 months :)</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>axxo@gentoo.org</who>
            <bug_when>2004-09-23 10:39:56 0000</bug_when>
            <thetext>this patch won&apos;t fix your problem anyway, it&apos;s basicly just a cleanup, so that last merged jre/jdk is always the plugin in use, and that it doesn&apos;t install 2 java plugins(like it would in same cases b4)
and made the ibm&apos;s check for gcc version too when installing the plugin</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>axxo@gentoo.org</who>
            <bug_when>2004-09-29 14:07:50 0000</bug_when>
            <thetext>in the tree</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40229</attachid>
            <date>2004-09-23 09:57 0000</date>
            <desc>big-jre-jdk-plugin-cleanup.diff</desc>
            <filename>big-jre-jdk-plugin-cleanup.diff</filename>
            <type>text/plain</type>
            <data encoding="base64">SW5kZXg6IGRldi1qYXZhL2JsYWNrZG93bi1qZGsvYmxhY2tkb3duLWpkay0xLjMuMS1yMTAuZWJ1
aWxkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2Rldi1qYXZh
L2JsYWNrZG93bi1qZGsvYmxhY2tkb3duLWpkay0xLjMuMS1yMTAuZWJ1aWxkLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjEyCmRpZmYgLXUgLWIgLUIgLXIxLjEyIGJsYWNrZG93bi1qZGstMS4zLjEt
cjEwLmVidWlsZAotLS0gZGV2LWphdmEvYmxhY2tkb3duLWpkay9ibGFja2Rvd24tamRrLTEuMy4x
LXIxMC5lYnVpbGQJMTQgSnVsIDIwMDQgMDE6NDQ6NDMgLTAwMDAJMS4xMgorKysgZGV2LWphdmEv
YmxhY2tkb3duLWpkay9ibGFja2Rvd24tamRrLTEuMy4xLXIxMC5lYnVpbGQJMjMgU2VwIDIwMDQg
MTY6MzU6MjMgLTAwMDAKQEAgLTIsNyArMiw3IEBACiAjIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIKICMgJEhlYWRlcjogL3Zh
ci9jdnNyb290L2dlbnRvby14ODYvZGV2LWphdmEvYmxhY2tkb3duLWpkay9ibGFja2Rvd24tamRr
LTEuMy4xLXIxMC5lYnVpbGQsdiAxLjEyIDIwMDQvMDcvMTQgMDE6NDQ6NDMgYWdyaWZmaXMgRXhw
ICQKIAotaW5oZXJpdCBqYXZhIG5zcGx1Z2lucyBnY2MKK2luaGVyaXQgamF2YSBnY2MKIAogUz0k
e1dPUktESVJ9L2oyc2RrMS4zLjEKIERFU0NSSVBUSU9OPSJCbGFja2Rvd24gSmF2YSBEZXZlbG9w
bWVudCBLaXQgMS4zLjEiCkBAIC0xMiw3ICsxMiw3IEBACiBMSUNFTlNFPSJzdW4tYmNsYS1qYXZh
LXZtIgogU0xPVD0iMS4zIgogS0VZV09SRFM9InBwYyIKLUlVU0U9ImRvYyIKK0lVU0U9ImRvYyBt
b3ppbGxhIgogCiBERVBFTkQ9InZpcnR1YWwvbGliYwogCT49ZGV2LWphdmEvamF2YS1jb25maWct
MC4yLjUKQEAgLTUyLDYgKzUyLDcgQEAKIAlkb2h0bWwgUkVBRE1FLmh0bWwKIAogCSMgSW5zdGFs
bCBucyBwbHVnaW4KKwlpZiB1c2UgbW96aWxsYTsgdGhlbgogCWlmIFsgIiR7QVJDSH0iID09ICJ4
ODYiIF0gOyB0aGVuCiAJCVBMQVRGT1JNPSJpMzg2IgogCWVsaWYgWyAiJHtBUkNIfSIgPT0gInBw
YyIgXSA7IHRoZW4KQEAgLTU5LDggKzYwLDggQEAKIAllbGlmIFsgIiR7QVJDSH0iID09ICJzcGFy
YyIgXSA7IHRoZW4KIAkJUExBVEZPUk09InNwYXJjIgogCWZpCi0KLQlpbnN0X3BsdWdpbiAvb3B0
LyR7UH0vanJlL3BsdWdpbi8ke1BMQVRGT1JNfS9tb3ppbGxhL2phdmFwbHVnaW5fb2ppLnNvCisJ
CWluc3RhbGxfbW96aWxsYV9wbHVpbmcgL29wdC8ke1B9L2pyZS9wbHVnaW4vJHtQTEFURk9STX0v
bW96aWxsYS9saWJqYXZhcGx1Z2luX29qaS5zbworCWZpCiAKIAlmaW5kICR7RH0vb3B0LyR7UH0g
LXR5cGUgZiAtbmFtZSAiKi5zbyIgLWV4ZWMgY2htb2QgK3ggXHtcfSBcOwogCkBAIC03Niw4ICs3
NywzIEBACiAJIyBpbnN0YWxsIGVudiBpbnRvIC9ldGMvZW52LmQKIAlzZXRfamF2YV9lbnYgJHtG
SUxFU0RJUn0vJHtWTUhBTkRMRX0gfHwgZGllCiB9Ci0KLXBrZ19wb3N0aW5zdCAoKSB7Ci0JIyBT
ZXQgYXMgZGVmYXVsdCBzeXN0ZW0gVk0gaWYgbm9uZSBleGlzdHMKLQlqYXZhX3BrZ19wb3N0aW5z
dAotfQpJbmRleDogZGV2LWphdmEvYmxhY2tkb3duLWpkay9ibGFja2Rvd24tamRrLTEuMy4xLXI4
LmVidWlsZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvdmFyL2N2c3Jvb3QvZ2VudG9vLXg4Ni9kZXYt
amF2YS9ibGFja2Rvd24tamRrL2JsYWNrZG93bi1qZGstMS4zLjEtcjguZWJ1aWxkLHYKcmV0cmll
dmluZyByZXZpc2lvbiAxLjE2CmRpZmYgLXUgLWIgLUIgLXIxLjE2IGJsYWNrZG93bi1qZGstMS4z
LjEtcjguZWJ1aWxkCi0tLSBkZXYtamF2YS9ibGFja2Rvd24tamRrL2JsYWNrZG93bi1qZGstMS4z
LjEtcjguZWJ1aWxkCTIxIFNlcCAyMDA0IDEzOjU4OjE4IC0wMDAwCTEuMTYKKysrIGRldi1qYXZh
L2JsYWNrZG93bi1qZGsvYmxhY2tkb3duLWpkay0xLjMuMS1yOC5lYnVpbGQJMjMgU2VwIDIwMDQg
MTY6MzU6MjMgLTAwMDAKQEAgLTIsNyArMiw3IEBACiAjIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIKICMgJEhlYWRlcjogL3Zh
ci9jdnNyb290L2dlbnRvby14ODYvZGV2LWphdmEvYmxhY2tkb3duLWpkay9ibGFja2Rvd24tamRr
LTEuMy4xLXI4LmVidWlsZCx2IDEuMTYgMjAwNC8wOS8yMSAxMzo1ODoxOCBheHhvIEV4cCAkCiAK
LWluaGVyaXQgamF2YSBuc3BsdWdpbnMKK2luaGVyaXQgamF2YQogCiBTPSR7V09SS0RJUn0vajJz
ZGsxLjMuMQogREVTQ1JJUFRJT049IkJsYWNrZG93biBKYXZhIERldmVsb3BtZW50IEtpdCAxLjMu
MSIKQEAgLTE0LDcgKzE0LDcgQEAKIExJQ0VOU0U9InN1bi1iY2xhLWphdmEtdm0iCiBTTE9UPSIx
LjMiCiBLRVlXT1JEUz0ieDg2IH5wcGMgc3BhcmMiCi1JVVNFPSJkb2MiCitJVVNFPSJkb2MgbW96
aWxsYSIKIAogREVQRU5EPSJ2aXJ0dWFsL2xpYmMKIAk+PWRldi1qYXZhL2phdmEtY29uZmlnLTAu
Mi41CkBAIC0yMyw3ICsyMyw3IEBACiAJdmlydHVhbC9qcmUtMS4zLjEKIAl2aXJ0dWFsL2phdmEt
c2NoZW1lLTIiCiAKLXNyY191bnBhY2sgKCkgeworc3JjX3VucGFjaygpIHsKIAlpZiB1c2UgcHBj
IHx8IHVzZSBzcGFyYyA7IHRoZW4KIAkJdGFpbCAtbiArNDAwICR7RElTVERJUn0vJHtBfSB8IHRh
ciBqeHBmIC0KIAllbHNlCkBAIC0zNyw3ICszNyw3IEBACiB9CiAKIAotc3JjX2luc3RhbGwgKCkg
eworc3JjX2luc3RhbGwoKSB7CiAKIAlkb2RpciAvb3B0LyR7UH0KIApAQCAtNTgsNyArNTgsNyBA
QAogCQlQTEFURk9STT0ic3BhcmMiCiAJZmkKIAotCWluc3RfcGx1Z2luIC9vcHQvJHtQfS9qcmUv
cGx1Z2luLyR7UExBVEZPUk19L21vemlsbGEvamF2YXBsdWdpbl9vamkuc28KKwl1c2UgbW96aWxs
YSAmJiBpbnN0YWxsX21vemlsbGFfcGx1Z2luIC9vcHQvJHtQfS9qcmUvcGx1Z2luLyR7UExBVEZP
Uk19L21vemlsbGEvamF2YXBsdWdpbl9vamkuc28KIAogCWZpbmQgJHtEfS9vcHQvJHtQfSAtdHlw
ZSBmIC1uYW1lICIqLnNvIiAtZXhlYyBjaG1vZCAreCBce1x9IFw7CiAKQEAgLTcyLDcgKzcyLDEz
IEBACiAJc2V0X2phdmFfZW52ICR7RklMRVNESVJ9LyR7Vk1IQU5ETEV9IHx8IGRpZQogfQogCi1w
a2dfcG9zdGluc3QgKCkgeworcGtnX3Bvc3RpbnN0KCkgewogCSMgU2V0IGFzIGRlZmF1bHQgc3lz
dGVtIFZNIGlmIG5vbmUgZXhpc3RzCiAJamF2YV9wa2dfcG9zdGluc3QKKworCWlmIHVzZSBtb3pp
bGxhOyB0aGVuCisJCWVpbmZvICJUaGUgamF2YSBtb3ppbGxhIHBsdWdpbiBzdXBwbGllZCBieSB0
aGlzIHBhY2thZ2UgZG9lcyBub3QiCisJCWVpbmZvICJ3b3JrIHdpdGggbmV3ZXIgb2YgbW96aWxs
YS9maXJlZm94IHZlcnNpb25zLiIKKwkJZWluZm8gIllvdSB3aWxsIG5lZWQgPj0ke1BOfS0xLjQg
ZnJvbSB0aGVtLiIKKwlmaQogfQpJbmRleDogZGV2LWphdmEvYmxhY2tkb3duLWpkay9ibGFja2Rv
d24tamRrLTEuNC4xLmVidWlsZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvdmFyL2N2c3Jvb3QvZ2Vu
dG9vLXg4Ni9kZXYtamF2YS9ibGFja2Rvd24tamRrL2JsYWNrZG93bi1qZGstMS40LjEuZWJ1aWxk
LHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIwCmRpZmYgLXUgLWIgLUIgLXIxLjIwIGJsYWNrZG93
bi1qZGstMS40LjEuZWJ1aWxkCi0tLSBkZXYtamF2YS9ibGFja2Rvd24tamRrL2JsYWNrZG93bi1q
ZGstMS40LjEuZWJ1aWxkCTIxIFNlcCAyMDA0IDA4OjE0OjM5IC0wMDAwCTEuMjAKKysrIGRldi1q
YXZhL2JsYWNrZG93bi1qZGsvYmxhY2tkb3duLWpkay0xLjQuMS5lYnVpbGQJMjMgU2VwIDIwMDQg
MTY6MzU6MjMgLTAwMDAKQEAgLTMsNyArMyw3IEBACiAjICRIZWFkZXI6IC92YXIvY3Zzcm9vdC9n
ZW50b28teDg2L2Rldi1qYXZhL2JsYWNrZG93bi1qZGsvYmxhY2tkb3duLWpkay0xLjQuMS5lYnVp
bGQsdiAxLjIwIDIwMDQvMDkvMjEgMDg6MTQ6MzkgYXh4byBFeHAgJAogCiAKLWluaGVyaXQgamF2
YSBuc3BsdWdpbnMKK2luaGVyaXQgamF2YQogCiBKUkVWPSIwMSIKIApAQCAtMjEsNyArMjEsNyBA
QAogTElDRU5TRT0ic3VuLWJjbGEtamF2YS12bSIKIFNMT1Q9IjEuNC4xIgogS0VZV09SRFM9Ing4
NiAtcHBjIHNwYXJjIGFtZDY0IgotSVVTRT0iZG9jIgorSVVTRT0iZG9jIG1vemlsbGEiCiAKIERF
UEVORD0idmlydHVhbC9saWJjCiAJPj1kZXYtamF2YS9qYXZhLWNvbmZpZy0wLjIuNgpAQCAtNDgs
NyArNDgsNyBAQAogCWV2YWwgZWNobyAkb2Zmc2V0CiB9CiAKLXNyY191bnBhY2sgKCkgeworc3Jj
X3VucGFjaygpIHsKIAlsb2NhbCBvZmZzZXQ9ImBnZXRfb2Zmc2V0ICR7RElTVERJUn0vJHtBfWAi
CiAKIAlpZiBbIC16ICIke29mZnNldH0iIF0gOyB0aGVuCkBAIC02MSw3ICs2MSw3IEBACiB9CiAK
IAotc3JjX2luc3RhbGwgKCkgeworc3JjX2luc3RhbGwoKSB7CiAJbG9jYWwgUExBVEZPUk09CiAK
IAlkb2RpciAvb3B0LyR7UH0KQEAgLTg3LDcgKzg3LDcgQEAKIAkJUExBVEZPUk09InNwYXJjIgog
CWZpCiAKLQlpbnN0X3BsdWdpbiAvb3B0LyR7UH0vanJlL3BsdWdpbi8ke1BMQVRGT1JNfS9tb3pp
bGxhL2phdmFwbHVnaW5fb2ppLnNvCisJdXNlIG1vemlsbGEgJiYgaW5zdGFsbF9tb3ppbGxhX3Bs
dWdpbiAvb3B0LyR7UH0vanJlL3BsdWdpbi8ke1BMQVRGT1JNfS9tb3ppbGxhL2phdmFwbHVnaW5f
b2ppLnNvCiAKIAlmaW5kICR7RH0vb3B0LyR7UH0gLXR5cGUgZiAtbmFtZSAiKi5zbyIgLWV4ZWMg
Y2htb2QgK3ggXHtcfSBcOwogCkBAIC0xMDQsNyArMTA0LDcgQEAKIAlmaQogfQogCi1wa2dfcG9z
dGluc3QgKCkgeworcGtnX3Bvc3RpbnN0KCkgewogCSMgU2V0IGFzIGRlZmF1bHQgc3lzdGVtIFZN
IGlmIG5vbmUgZXhpc3RzCiAJamF2YV9wa2dfcG9zdGluc3QKIApAQCAtMTEzLDYgKzExMyw3IEBA
CiAJIyBidXQgbWF5IGNvbmZ1c2UgdGhpbmdzIGxpa2UgQVYgc2Nhbm5lcnMgYW5kIGF1dG9tYXRp
YyB0cmlwd2lyZQogCWlmIGhhc192ZXJzaW9uICJzeXMtYXBwcy9jaHBheCIKIAl0aGVuCisJCWVj
aG8KIAkJZWluZm8gInNldHRpbmcgdXAgY29uc2VydmF0aXZlIFBhWCBmbGFncyBmb3IgamFyIGFu
ZCBqYXZhYyIKIAogCQlmb3IgcGF4a2lsbHMgaW4gImphciIgImphdmFjIiAiamF2YSIKSW5kZXg6
IGRldi1qYXZhL2JsYWNrZG93bi1qZGsvYmxhY2tkb3duLWpkay0xLjQuMl9yYzEtcjEuZWJ1aWxk
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KUkNTIGZpbGU6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2Rldi1qYXZhL2Js
YWNrZG93bi1qZGsvYmxhY2tkb3duLWpkay0xLjQuMl9yYzEtcjEuZWJ1aWxkLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjIKZGlmZiAtdSAtYiAtQiAtcjEuMiBibGFja2Rvd24tamRrLTEuNC4yX3Jj
MS1yMS5lYnVpbGQKLS0tIGRldi1qYXZhL2JsYWNrZG93bi1qZGsvYmxhY2tkb3duLWpkay0xLjQu
Ml9yYzEtcjEuZWJ1aWxkCTE0IEp1bCAyMDA0IDAxOjQ0OjQzIC0wMDAwCTEuMgorKysgZGV2LWph
dmEvYmxhY2tkb3duLWpkay9ibGFja2Rvd24tamRrLTEuNC4yX3JjMS1yMS5lYnVpbGQJMjMgU2Vw
IDIwMDQgMTY6MzU6MjMgLTAwMDAKQEAgLTQsNyArNCw3IEBACiAKIElVU0U9ImRvYyBtb3ppbGxh
IgogCi1pbmhlcml0IGphdmEgbnNwbHVnaW5zCitpbmhlcml0IGphdmEKIAogSlJFVj0ke1BWIypf
fQogSlY9JHtQViVfKn0KQEAgLTQ0LDcgKzQ0LDcgQEAKIAllY2hvICRvZmZzZXQKIH0KIAotc3Jj
X3VucGFjayAoKSB7CitzcmNfdW5wYWNrKCkgewogCWxvY2FsIG9mZnNldD0kKGdldF9vZmZzZXQg
JHtESVNURElSfS8ke0F9KQogCiAJaWYgWyAteiAiJHtvZmZzZXR9IiBdIDsgdGhlbgpAQCAtODEs
NyArODEsNyBAQAogCXJtIC1mICIkVU5QQUNLX0NNRCIKIH0KIAotc3JjX2luc3RhbGwgKCkgewor
c3JjX2luc3RhbGwoKSB7CiAJdHlwZXNldCBwbGF0Zm9ybQogCiAJZG9kaXIgL29wdC8ke1B9CkBA
IC0xMDIsNyArMTAyLDcgQEAKIAkJCXNwYXJjKikgcGxhdGZvcm09InNwYXJjIiA7OwogCQkJeDg2
KSBwbGF0Zm9ybT0iaTM4NiIgOzsKIAkJZXNhYwotCQlpbnN0X3BsdWdpbiAvb3B0LyR7UH0vanJl
L3BsdWdpbi8ke3BsYXRmb3JtfS9tb3ppbGxhL2xpYmphdmFwbHVnaW5fb2ppLnNvCisJCWluc3Rh
bGxfbW96aWxsYV9wbHVnaW4gL29wdC8ke1B9L2pyZS9wbHVnaW4vJHtwbGF0Zm9ybX0vbW96aWxs
YS9saWJqYXZhcGx1Z2luX29qaS5zbwogCWZpCiAKIAlmaW5kICR7RH0vb3B0LyR7UH0gLXR5cGUg
ZiAtbmFtZSAiKi5zbyIgLWV4ZWMgY2htb2QgK3ggXHtcfSBcOwpAQCAtMTIwLDcgKzEyMCw3IEBA
CiAJdW5wYWNrX2phcnMKIH0KIAotcGtnX3Bvc3RpbnN0ICgpIHsKK3BrZ19wb3N0aW5zdCgpIHsK
IAkjIFNldCBhcyBkZWZhdWx0IHN5c3RlbSBWTSBpZiBub25lIGV4aXN0cwogCWphdmFfcGtnX3Bv
c3RpbnN0CiAKQEAgLTEyOSw2ICsxMjksNyBAQAogCSMgYnV0IG1heSBjb25mdXNlIHRoaW5ncyBs
aWtlIEFWIHNjYW5uZXJzIGFuZCBhdXRvbWF0aWMgdHJpcHdpcmUKIAlpZiBoYXNfdmVyc2lvbiAi
c3lzLWFwcHMvY2hwYXgiCiAJdGhlbgorCQllY2hvCiAJCWVpbmZvICJzZXR0aW5nIHVwIGNvbnNl
cnZhdGl2ZSBQYVggZmxhZ3MgZm9yIGphciBhbmQgamF2YWMiCiAKIAkJZm9yIHBheGtpbGxzIGlu
ICJqYXIiICJqYXZhYyIgImphdmEiCkluZGV4OiBkZXYtamF2YS9ibGFja2Rvd24tamRrL2JsYWNr
ZG93bi1qZGstMS40LjJfcmMxLmVidWlsZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvdmFyL2N2c3Jv
b3QvZ2VudG9vLXg4Ni9kZXYtamF2YS9ibGFja2Rvd24tamRrL2JsYWNrZG93bi1qZGstMS40LjJf
cmMxLmVidWlsZCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMwpkaWZmIC11IC1iIC1CIC1yMS4x
MyBibGFja2Rvd24tamRrLTEuNC4yX3JjMS5lYnVpbGQKLS0tIGRldi1qYXZhL2JsYWNrZG93bi1q
ZGsvYmxhY2tkb3duLWpkay0xLjQuMl9yYzEuZWJ1aWxkCTE0IEp1bCAyMDA0IDAxOjQ0OjQzIC0w
MDAwCTEuMTMKKysrIGRldi1qYXZhL2JsYWNrZG93bi1qZGsvYmxhY2tkb3duLWpkay0xLjQuMl9y
YzEuZWJ1aWxkCTIzIFNlcCAyMDA0IDE2OjM1OjIzIC0wMDAwCkBAIC00LDcgKzQsNyBAQAogCiBJ
VVNFPSJkb2MiCiAKLWluaGVyaXQgamF2YSBuc3BsdWdpbnMKK2luaGVyaXQgamF2YQogCiBKUkVW
PSR7UFYjKl99CiBKVj0ke1BWJV8qfQpAQCAtNDQsNyArNDQsNyBAQAogCWVjaG8gJG9mZnNldAog
fQogCi1zcmNfdW5wYWNrICgpIHsKK3NyY191bnBhY2soKSB7CiAJbG9jYWwgb2Zmc2V0PSQoZ2V0
X29mZnNldCAke0RJU1RESVJ9LyR7QX0pCiAKIAlpZiBbIC16ICIke29mZnNldH0iIF0gOyB0aGVu
CkBAIC04MSw3ICs4MSw3IEBACiAJcm0gLWYgIiRVTlBBQ0tfQ01EIgogfQogCi1zcmNfaW5zdGFs
bCAoKSB7CitzcmNfaW5zdGFsbCgpIHsKIAl0eXBlc2V0IHBsYXRmb3JtCiAKIAlkb2RpciAvb3B0
LyR7UH0KQEAgLTk1LDEyICs5NSwxNCBAQAogCWRvaHRtbCBSRUFETUUuaHRtbAogCiAJIyBJbnN0
YWxsIG1vemlsbGEgcGx1Z2luCisJaWYgdXNlIG1vemlsbGE7IHRoZW4KIAljYXNlICR7QVJDSH0g
aW4KIAkJYW1kNjR8eDg2KSBwbGF0Zm9ybT0iaTM4NiIgOzsKIAkJcHBjKSBwbGF0Zm9ybT0icHBj
IiA7OwogCQlzcGFyYyopIHBsYXRmb3JtPSJzcGFyYyIgOzsKIAllc2FjCi0JaW5zdF9wbHVnaW4g
L29wdC8ke1B9L2pyZS9wbHVnaW4vJHtwbGF0Zm9ybX0vbW96aWxsYS9qYXZhcGx1Z2luX29qaS5z
bworCQlpbnN0YWxsX21vemlsbGFfcGx1Z2luIC9vcHQvJHtQfS9qcmUvcGx1Z2luLyR7cGxhdGZv
cm19L21vemlsbGEvbGliamF2YXBsdWdpbl9vamkuc28KKwlmaQogCiAJZmluZCAke0R9L29wdC8k
e1B9IC10eXBlIGYgLW5hbWUgIiouc28iIC1leGVjIGNobW9kICt4IFx7XH0gXDsKIApAQCAtMTE4
LDcgKzEyMCw3IEBACiAJdW5wYWNrX2phcnMKIH0KIAotcGtnX3Bvc3RpbnN0ICgpIHsKK3BrZ19w
b3N0aW5zdCgpIHsKIAkjIFNldCBhcyBkZWZhdWx0IHN5c3RlbSBWTSBpZiBub25lIGV4aXN0cwog
CWphdmFfcGtnX3Bvc3RpbnN0CiAKQEAgLTEyNyw2ICsxMjksNyBAQAogCSMgYnV0IG1heSBjb25m
dXNlIHRoaW5ncyBsaWtlIEFWIHNjYW5uZXJzIGFuZCBhdXRvbWF0aWMgdHJpcHdpcmUKIAlpZiBo
YXNfdmVyc2lvbiAic3lzLWFwcHMvY2hwYXgiCiAJdGhlbgorCQllY2hvCiAJCWVpbmZvICJzZXR0
aW5nIHVwIGNvbnNlcnZhdGl2ZSBQYVggZmxhZ3MgZm9yIGphciBhbmQgamF2YWMiCiAKIAkJZm9y
IHBheGtpbGxzIGluICJqYXIiICJqYXZhYyIgImphdmEiCkluZGV4OiBkZXYtamF2YS9ibGFja2Rv
d24tanJlL2JsYWNrZG93bi1qcmUtMS4zLjEtcjkuZWJ1aWxkCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2Rldi1qYXZhL2JsYWNrZG93bi1qcmUvYmxhY2tkb3du
LWpyZS0xLjMuMS1yOS5lYnVpbGQsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTcKZGlmZiAtdSAt
YiAtQiAtcjEuMTcgYmxhY2tkb3duLWpyZS0xLjMuMS1yOS5lYnVpbGQKLS0tIGRldi1qYXZhL2Js
YWNrZG93bi1qcmUvYmxhY2tkb3duLWpyZS0xLjMuMS1yOS5lYnVpbGQJMTQgSnVsIDIwMDQgMTI6
MjI6MjcgLTAwMDAJMS4xNworKysgZGV2LWphdmEvYmxhY2tkb3duLWpyZS9ibGFja2Rvd24tanJl
LTEuMy4xLXI5LmVidWlsZAkyMyBTZXAgMjAwNCAxNjozNToyMyAtMDAwMApAQCAtMiw3ICsyLDcg
QEAKICMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSB2MgogIyAkSGVhZGVyOiAvdmFyL2N2c3Jvb3QvZ2VudG9vLXg4Ni9kZXYtamF2
YS9ibGFja2Rvd24tanJlL2JsYWNrZG93bi1qcmUtMS4zLjEtcjkuZWJ1aWxkLHYgMS4xNyAyMDA0
LzA3LzE0IDEyOjIyOjI3IGF4eG8gRXhwICQKIAotaW5oZXJpdCBqYXZhIG5zcGx1Z2lucyBnY2MK
K2luaGVyaXQgamF2YSBnY2MKIAogUz0ke1dPUktESVJ9L2oycmUxLjMuMQogREVTQ1JJUFRJT049
IkJsYWNrZG93biBKYXZhIFJ1bnRpbWUgRW52aXJvbm1lbnQgMS4zLjEiCkBAIC0xMiw3ICsxMiw3
IEBACiBMSUNFTlNFPSJzdW4tYmNsYS1qYXZhLXZtIgogU0xPVD0iMCIKIEtFWVdPUkRTPSJwcGMi
Ci1JVVNFPSIiCitJVVNFPSJtb3ppbGxhIgogCiBERVBFTkQ9InZpcnR1YWwvbGliYwogCT49ZGV2
LWphdmEvamF2YS1jb25maWctMC4yLjUKQEAgLTIxLDcgKzIxLDcgQEAKIFBST1ZJREU9InZpcnR1
YWwvanJlLTEuMy4xCiAJdmlydHVhbC9qYXZhLXNjaGVtZS0yIgogCi1zcmNfdW5wYWNrICgpIHsK
K3NyY191bnBhY2soKSB7CiAJZm9yIGEgaW4gJHtBfTsgZG8KIAkJaWYgW1sgJHthfSA9PSAqLmJp
biBdXTsgdGhlbgogCQkJZWNobyAiPj4+IFVucGFja2luZyAke2F9Li4uIgpAQCAtNDAsNyArNDAs
NyBAQAogCWZpCiB9CiAKLXNyY19pbnN0YWxsICgpIHsKK3NyY19pbnN0YWxsKCkgewogCXR5cGVz
ZXQgcGxhdGZvcm0KIAogCWRvZGlyIC9vcHQvJHtQfQpAQCAtNTIsMzEgKzUyLDE2IEBACiAJZG9o
dG1sIFJFQURNRS5odG1sCiAKIAkjIEluc3RhbGwgbW96aWxsYSBwbHVnaW4KKwlpZiB1c2UgbW96
aWxsYTsgdGhlbgogCWNhc2UgJHtBUkNIfSBpbgogCQlhbWQ2NHx4ODYpIHBsYXRmb3JtPSJpMzg2
IiA7OwogCQlwcGMpIHBsYXRmb3JtPSJwcGMiIDs7CiAJCXNwYXJjKikgcGxhdGZvcm09InNwYXJj
IiA7OwogCWVzYWMKLQlpbnN0X3BsdWdpbiAvb3B0LyR7UH0vcGx1Z2luLyR7cGxhdGZvcm19L21v
emlsbGEvamF2YXBsdWdpbl9vamkuc28KKwkJaW5zdGFsbF9tb3ppbGxhX3BsdWdpbiAvb3B0LyR7
UH0vcGx1Z2luLyR7cGxhdGZvcm19L21vemlsbGEvamF2YXBsdWdpbl9vamkuc28KKwlmaQogCiAJ
c2VkIC1pICJzL3N0YW5kYXJkIHN5bWJvbHMgbC9zeW1ib2wvZyIgJHtEfS9vcHQvJHtQfS9saWIv
Zm9udC5wcm9wZXJ0aWVzCiAKIAlzZXRfamF2YV9lbnYgJHtGSUxFU0RJUn0vJHtWTUhBTkRMRX0K
IH0KLQotcGtnX3Bvc3RpbnN0ICgpIHsKLQkjIE9ubHkgaW5zdGFsbCB0aGUgSlJFIGFzIHRoZSBz
eXN0ZW0gZGVmYXVsdCBpZiB0aGVyZSdzIG5vIEpESyAKLQkjIGluc3RhbGxlZC4gSW5zdGFsbGlu
ZyBhIEpSRSBvdmVyIGFuIGV4aXN0aW5nIEpESyB3aWxsIHJlc3VsdAotCSMgaW4gbWFqb3IgYnJl
YWthZ2UsIHNlZSAjOTI4OS4KLQlpZiBbICEgLWYgIiR7SkFWQUN9IiBdIDsgdGhlbgotCQlld2Fy
biAiRm91bmQgbm8gSkRLLCBzZXR0aW5nICR7UH0gYXMgZGVmYXVsdCBzeXN0ZW0gVk0iCi0JCWph
dmFfcGtnX3Bvc3RpbnN0Ci0JZmkKLX0KLQotcGtnX3ByZXJtKCkgewotCWlmIGphdmEtY29uZmln
IC1KIHwgZ3JlcCAtcSAke1B9IDsgdGhlbgotCQlld2FybiAiSXQgYXBwZWFycyB5b3UgYXJlIHJl
bW92aW5nIHlvdXIgZGVmYXVsdCBzeXN0ZW0gVk0hIgotCQlld2FybiAiUGxlYXNlIHJ1biBqYXZh
LWNvbmZpZyAtTCB0aGVuIGphdmEtY29uZmlnIC1TIHRvIHNldCBhIG5ldyBzeXN0ZW0gVk0hIgot
CWZpCi19CkluZGV4OiBkZXYtamF2YS9ibGFja2Rvd24tanJlL2JsYWNrZG93bi1qcmUtMS40LjEu
ZWJ1aWxkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2Rldi1q
YXZhL2JsYWNrZG93bi1qcmUvYmxhY2tkb3duLWpyZS0xLjQuMS5lYnVpbGQsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuMTUKZGlmZiAtdSAtYiAtQiAtcjEuMTUgYmxhY2tkb3duLWpyZS0xLjQuMS5l
YnVpbGQKLS0tIGRldi1qYXZhL2JsYWNrZG93bi1qcmUvYmxhY2tkb3duLWpyZS0xLjQuMS5lYnVp
bGQJMzAgSnVsIDIwMDQgMjM6MzY6NTIgLTAwMDAJMS4xNQorKysgZGV2LWphdmEvYmxhY2tkb3du
LWpyZS9ibGFja2Rvd24tanJlLTEuNC4xLmVidWlsZAkyMyBTZXAgMjAwNCAxNjozNToyMyAtMDAw
MApAQCAtMiw3ICsyLDcgQEAKICMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgogIyAkSGVhZGVyOiAvdmFyL2N2c3Jvb3QvZ2Vu
dG9vLXg4Ni9kZXYtamF2YS9ibGFja2Rvd24tanJlL2JsYWNrZG93bi1qcmUtMS40LjEuZWJ1aWxk
LHYgMS4xNSAyMDA0LzA3LzMwIDIzOjM2OjUyIGRyYWdvbmhlYXJ0IEV4cCAkCiAKLWluaGVyaXQg
amF2YSBuc3BsdWdpbnMgZ2NjCitpbmhlcml0IGphdmEgZ2NjCiAKIFM9JHtXT1JLRElSfS9qMnJl
MS40LjEKIERFU0NSSVBUSU9OPSJCbGFja2Rvd24gSmF2YSBSdW50aW1lIEVudmlyb25tZW50IDEu
NC4xIgpAQCAtNjksMTIgKzY5LDE0IEBACiAJZG9odG1sIFJFQURNRS5odG1sCiAKIAkjIEluc3Rh
bGwgbW96aWxsYSBwbHVnaW4KKwlpZiB1c2UgbW96aWxsYTsgdGhlbgogCWNhc2UgJHtBUkNIfSBp
bgogCQlhbWQ2NHx4ODYpIHBsYXRmb3JtPSJpMzg2IiA7OwogCQlwcGMpIHBsYXRmb3JtPSJwcGMi
IDs7CiAJCXNwYXJjKikgcGxhdGZvcm09InNwYXJjIiA7OwogCWVzYWMKLQlpbnN0X3BsdWdpbiAv
b3B0LyR7UH0vcGx1Z2luLyR7cGxhdGZvcm19L21vemlsbGEvamF2YXBsdWdpbl9vamkuc28KKwkJ
aW5zdGFsbF9tb3ppbGxhX3BsdWdpbiAvb3B0LyR7UH0vcGx1Z2luLyR7cGxhdGZvcm19L21vemls
bGEvamF2YXBsdWdpbl9vamkuc28KKwlmaQogCiAJc2VkIC1pICJzL3N0YW5kYXJkIHN5bWJvbHMg
bC9zeW1ib2wvZyIgJHtEfS9vcHQvJHtQfS9saWIvZm9udC5wcm9wZXJ0aWVzCiAKQEAgLTg3LDIw
ICs4OSwzIEBACiAJCQkke0R9L2V0Yy9lbnYuZC9qYXZhLzIwYmxhY2tkb3duLWpyZS0xLjQuMQog
CWZpCiB9Ci0KLXBrZ19wb3N0aW5zdCAoKSB7Ci0JIyBPbmx5IGluc3RhbGwgdGhlIEpSRSBhcyB0
aGUgc3lzdGVtIGRlZmF1bHQgaWYgdGhlcmUncyBubyBKREsgCi0JIyBpbnN0YWxsZWQuIEluc3Rh
bGxpbmcgYSBKUkUgb3ZlciBhbiBleGlzdGluZyBKREsgd2lsbCByZXN1bHQKLQkjIGluIG1ham9y
IGJyZWFrYWdlLCBzZWUgIzkyODkuCi0JaWYgWyAhIC1mICIke0pBVkFDfSIgXSA7IHRoZW4KLQkJ
ZXdhcm4gIkZvdW5kIG5vIEpESywgc2V0dGluZyAke1B9IGFzIGRlZmF1bHQgc3lzdGVtIFZNIgot
CQlqYXZhX3BrZ19wb3N0aW5zdAotCWZpCi19Ci0KLXBrZ19wb3N0cm0oKSB7Ci0JaWYgamF2YS1j
b25maWcgLUogfCBncmVwIC1xICR7UH0gOyB0aGVuCi0JCWV3YXJuICJJdCBhcHBlYXJzIHlvdSBh
cmUgcmVtb3ZpbmcgeW91ciBkZWZhdWx0IHN5c3RlbSBWTSEiCi0JCWV3YXJuICJQbGVhc2UgcnVu
IGphdmEtY29uZmlnIC1MIHRoZW4gamF2YS1jb25maWctUyB0byBzZXQgYSBuZXcgc3lzdGVtIFZN
ISIKLQlmaQotfQpJbmRleDogZGV2LWphdmEvYmxhY2tkb3duLWpyZS9ibGFja2Rvd24tanJlLTEu
NC4yX3JjMS1yMS5lYnVpbGQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3Zhci9jdnNyb290L2dlbnRv
by14ODYvZGV2LWphdmEvYmxhY2tkb3duLWpyZS9ibGFja2Rvd24tanJlLTEuNC4yX3JjMS1yMS5l
YnVpbGQsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuNApkaWZmIC11IC1iIC1CIC1yMS40IGJsYWNr
ZG93bi1qcmUtMS40LjJfcmMxLXIxLmVidWlsZAotLS0gZGV2LWphdmEvYmxhY2tkb3duLWpyZS9i
bGFja2Rvd24tanJlLTEuNC4yX3JjMS1yMS5lYnVpbGQJMTQgSnVsIDIwMDQgMDE6NDU6MjggLTAw
MDAJMS40CisrKyBkZXYtamF2YS9ibGFja2Rvd24tanJlL2JsYWNrZG93bi1qcmUtMS40LjJfcmMx
LXIxLmVidWlsZAkyMyBTZXAgMjAwNCAxNjozNToyMyAtMDAwMApAQCAtMiw5ICsyLDcgQEAKICMg
RGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSB2MgogIyAkSGVhZGVyOiAvdmFyL2N2c3Jvb3QvZ2VudG9vLXg4Ni9kZXYtamF2YS9ibGFj
a2Rvd24tanJlL2JsYWNrZG93bi1qcmUtMS40LjJfcmMxLXIxLmVidWlsZCx2IDEuNCAyMDA0LzA3
LzE0IDAxOjQ1OjI4IGFncmlmZmlzIEV4cCAkCiAKLUlVU0U9IiIKLQotaW5oZXJpdCBqYXZhIG5z
cGx1Z2lucworaW5oZXJpdCBqYXZhCiAKIEpSRVY9InJjMSIKIApAQCAtMjQsNyArMjIsNyBAQAog
U0xPVD0iMS40LjIiCiBMSUNFTlNFPSJzdW4tYmNsYS1qYXZhLXZtIgogS0VZV09SRFM9Ii0qIGFt
ZDY0IgotCitJVVNFPSIiCiBERVBFTkQ9InZpcnR1YWwvbGliYwogCT49ZGV2LWphdmEvamF2YS1j
b25maWctMC4yLjYKIAk+PXN5cy1hcHBzL3NlZC00CkBAIC05OSwxMiArOTcsMTQgQEAKIAlkb2h0
bWwgUkVBRE1FLmh0bWwKIAogCSMgSW5zdGFsbCBtb3ppbGxhIHBsdWdpbgorCWlmIHVzZSBtb3pp
bGxhOyB0aGVuCiAJY2FzZSAke0FSQ0h9IGluCiAJCWFtZDY0fHg4NikgcGxhdGZvcm09ImkzODYi
IDs7CiAJCXBwYykgcGxhdGZvcm09InBwYyIgOzsKIAkJc3BhcmMqKSBwbGF0Zm9ybT0ic3BhcmMi
IDs7CiAJZXNhYwotCWluc3RfcGx1Z2luIC9vcHQvJHtQfS9qcmUvcGx1Z2luLyR7cGxhdGZvcm19
L21vemlsbGEvbGliamF2YXBsdWdpbl9vamkuc28KKwkJaW5zdGFsbF9tb3ppbGxhX3BsdWdpbnMg
L29wdC8ke1B9L2pyZS9wbHVnaW4vJHtwbGF0Zm9ybX0vbW96aWxsYS9saWJqYXZhcGx1Z2luX29q
aS5zbworCWZpCiAKIAlzZWQgLWkgInMvc3RhbmRhcmQgc3ltYm9scyBsL3N5bWJvbC9nIiAke0R9
L29wdC8ke1B9L2pyZS9saWIvZm9udC5wcm9wZXJ0aWVzCiAKQEAgLTEyMSwyMCArMTIxLDMgQEAK
IAogCXVucGFja19qYXJzCiB9Ci0KLXBrZ19wb3N0aW5zdCAoKSB7Ci0JIyBPbmx5IGluc3RhbGwg
dGhlIEpSRSBhcyB0aGUgc3lzdGVtIGRlZmF1bHQgaWYgdGhlcmUncyBubyBKREsgCi0JIyBpbnN0
YWxsZWQuIEluc3RhbGxpbmcgYSBKUkUgb3ZlciBhbiBleGlzdGluZyBKREsgd2lsbCByZXN1bHQK
LQkjIGluIG1ham9yIGJyZWFrYWdlLCBzZWUgIzkyODkuCi0JaWYgWyAhIC1mICIke0pBVkFDfSIg
XSA7IHRoZW4KLQkJZXdhcm4gIkZvdW5kIG5vIEpESywgc2V0dGluZyAke1B9IGFzIGRlZmF1bHQg
c3lzdGVtIFZNIgotCQlqYXZhX3BrZ19wb3N0aW5zdAotCWZpCi19Ci0KLXBrZ19wcmVybSgpIHsK
LQlpZiBqYXZhLWNvbmZpZyAtSiB8IGdyZXAgLXEgJHtQfSA7IHRoZW4KLQkJZXdhcm4gIkl0IGFw
cGVhcnMgeW91IGFyZSByZW1vdmluZyB5b3VyIGRlZmF1bHQgc3lzdGVtIFZNISIKLQkJZXdhcm4g
IlBsZWFzZSBydW4gamF2YS1jb25maWcgLUwgdGhlbiBqYXZhLWNvbmZpZy1TIHRvIHNldCBhIG5l
dyBzeXN0ZW0gVk0hIgotCWZpCi19CkluZGV4OiBkZXYtamF2YS9jb21wYXEtamRrL2NvbXBhcS1q
ZGstMS4zLjEtcjEuZWJ1aWxkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC92YXIvY3Zzcm9vdC9nZW50
b28teDg2L2Rldi1qYXZhL2NvbXBhcS1qZGsvY29tcGFxLWpkay0xLjMuMS1yMS5lYnVpbGQsdgpy
ZXRyaWV2aW5nIHJldmlzaW9uIDEuMwpkaWZmIC11IC1iIC1CIC1yMS4zIGNvbXBhcS1qZGstMS4z
LjEtcjEuZWJ1aWxkCi0tLSBkZXYtamF2YS9jb21wYXEtamRrL2NvbXBhcS1qZGstMS4zLjEtcjEu
ZWJ1aWxkCTIgSnVsIDIwMDQgMDQ6MTk6NDIgLTAwMDAJMS4zCisrKyBkZXYtamF2YS9jb21wYXEt
amRrL2NvbXBhcS1qZGstMS4zLjEtcjEuZWJ1aWxkCTIzIFNlcCAyMDA0IDE2OjM1OjI0IC0wMDAw
CkBAIC00NCw4ICs0NCwzIEBACiAKIAlzZXRfamF2YV9lbnYgJHtGSUxFU0RJUn0vJHtWTUhBTkRM
RX0gfHwgZGllCiB9Ci0KLXBrZ19wb3N0aW5zdCAoKSB7Ci0JIyBTZXQgYXMgZGVmYXVsdCBWTSBp
ZiBub25lIGV4aXN0cwotCWphdmFfcGtnX3Bvc3RpbnN0Ci19CkluZGV4OiBkZXYtamF2YS9jb21w
YXEtamRrL2NvbXBhcS1qZGstMS4zLjEtcjIuZWJ1aWxkCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC92
YXIvY3Zzcm9vdC9nZW50b28teDg2L2Rldi1qYXZhL2NvbXBhcS1qZGsvY29tcGFxLWpkay0xLjMu
MS1yMi5lYnVpbGQsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMwpkaWZmIC11IC1iIC1CIC1yMS4z
IGNvbXBhcS1qZGstMS4zLjEtcjIuZWJ1aWxkCi0tLSBkZXYtamF2YS9jb21wYXEtamRrL2NvbXBh
cS1qZGstMS4zLjEtcjIuZWJ1aWxkCTIgSnVsIDIwMDQgMDQ6MTk6NDIgLTAwMDAJMS4zCisrKyBk
ZXYtamF2YS9jb21wYXEtamRrL2NvbXBhcS1qZGstMS4zLjEtcjIuZWJ1aWxkCTIzIFNlcCAyMDA0
IDE2OjM1OjI0IC0wMDAwCkBAIC00NSw4ICs0NSwzIEBACiAKIAlzZXRfamF2YV9lbnYgJHtGSUxF
U0RJUn0vJHtWTUhBTkRMRX0gfHwgZGllCiB9Ci0KLXBrZ19wb3N0aW5zdCAoKSB7Ci0JIyBTZXQg
YXMgZGVmYXVsdCBWTSBpZiBub25lIGV4aXN0cwotCWphdmFfcGtnX3Bvc3RpbnN0Ci19CkluZGV4
OiBkZXYtamF2YS9jb21wYXEtamRrL2NvbXBhcS1qZGstMS4zLjEtcjMuZWJ1aWxkCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KUkNTIGZpbGU6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2Rldi1qYXZhL2NvbXBhcS1qZGsv
Y29tcGFxLWpkay0xLjMuMS1yMy5lYnVpbGQsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMwpkaWZm
IC11IC1iIC1CIC1yMS4zIGNvbXBhcS1qZGstMS4zLjEtcjMuZWJ1aWxkCi0tLSBkZXYtamF2YS9j
b21wYXEtamRrL2NvbXBhcS1qZGstMS4zLjEtcjMuZWJ1aWxkCTIgSnVsIDIwMDQgMDQ6MTk6NDIg
LTAwMDAJMS4zCisrKyBkZXYtamF2YS9jb21wYXEtamRrL2NvbXBhcS1qZGstMS4zLjEtcjMuZWJ1
aWxkCTIzIFNlcCAyMDA0IDE2OjM1OjI0IC0wMDAwCkBAIC00NSw4ICs0NSwzIEBACiAKIAlzZXRf
amF2YV9lbnYgJHtGSUxFU0RJUn0vJHtWTUhBTkRMRX0gfHwgZGllCiB9Ci0KLXBrZ19wb3N0aW5z
dCAoKSB7Ci0JIyBTZXQgYXMgZGVmYXVsdCBWTSBpZiBub25lIGV4aXN0cwotCWphdmFfcGtnX3Bv
c3RpbnN0Ci19CkluZGV4OiBkZXYtamF2YS9jb21wYXEtanJlL2NvbXBhcS1qcmUtMS4zLjEtcjMu
ZWJ1aWxkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2Rldi1q
YXZhL2NvbXBhcS1qcmUvY29tcGFxLWpyZS0xLjMuMS1yMy5lYnVpbGQsdgpyZXRyaWV2aW5nIHJl
dmlzaW9uIDEuNApkaWZmIC11IC1iIC1CIC1yMS40IGNvbXBhcS1qcmUtMS4zLjEtcjMuZWJ1aWxk
Ci0tLSBkZXYtamF2YS9jb21wYXEtanJlL2NvbXBhcS1qcmUtMS4zLjEtcjMuZWJ1aWxkCTIgSnVs
IDIwMDQgMDQ6MTk6NTUgLTAwMDAJMS40CisrKyBkZXYtamF2YS9jb21wYXEtanJlL2NvbXBhcS1q
cmUtMS4zLjEtcjMuZWJ1aWxkCTIzIFNlcCAyMDA0IDE2OjM1OjI0IC0wMDAwCkBAIC00MSwxNiAr
NDEsMyBAQAogCiAJc2V0X2phdmFfZW52ICR7RklMRVNESVJ9LyR7Vk1IQU5ETEV9IHx8IGRpZQog
fQotCi1wa2dfcG9zdGluc3QgKCkgewotCWlmIFsgISAtZSAiJHtKQVZBQ30iIF0gOyB0aGVuCi0J
CWphdmFfcGtnX3Bvc3RpbnN0Ci0JZmkKLX0KLQotcGtnX3Bvc3RybSgpIHsKLQlpZiBbICEgLXog
IiQoamF2YS1jb25maWcgLUopIHwgZ3JlcCAke1B9IiBdIDsgdGhlbgotCQlld2FybiAiSXQgYXBw
ZWFycyB5b3UgYXJlIHJlbW92aW5nIHlvdXIgZGVmYXVsdCBzeXN0ZW0gVk0hIgotCQlld2FybiAi
UGxlYXNlIHJ1biBqYXZhLWNvbmZpZyAtTCB0aGVuIGphdmEtY29uZmlnLVMgdG8gc2V0IGEgbmV3
IHN5c3RlbSBWTSEiCi0JZmkKLX0KSW5kZXg6IGRldi1qYXZhL2libS1qZGstYmluL2libS1qZGst
YmluLTEuNC4xLXIyLmVidWlsZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvdmFyL2N2c3Jvb3QvZ2Vu
dG9vLXg4Ni9kZXYtamF2YS9pYm0tamRrLWJpbi9pYm0tamRrLWJpbi0xLjQuMS1yMi5lYnVpbGQs
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuOApkaWZmIC11IC1iIC1CIC1yMS44IGlibS1qZGstYmlu
LTEuNC4xLXIyLmVidWlsZAotLS0gZGV2LWphdmEvaWJtLWpkay1iaW4vaWJtLWpkay1iaW4tMS40
LjEtcjIuZWJ1aWxkCTYgU2VwIDIwMDQgMTg6MTI6NDUgLTAwMDAJMS44CisrKyBkZXYtamF2YS9p
Ym0tamRrLWJpbi9pYm0tamRrLWJpbi0xLjQuMS1yMi5lYnVpbGQJMjMgU2VwIDIwMDQgMTY6MzU6
MjUgLTAwMDAKQEAgLTQsNyArNCw3IEBACiAKIElVU0U9IlggZG9jIGphdmFjb21tIgogCi1pbmhl
cml0IGphdmEgbnNwbHVnaW5zIGV1dGlscworaW5oZXJpdCBqYXZhIGV1dGlscwogCiBpZiB1c2Ug
cHBjOyB0aGVuCiAJUz0iJHtXT1JLRElSfS9JQk1KYXZhMi1wcGMtMTQxIgpAQCAtNTAsMTEgKzUw
LDE2IEBACiAJaWYgdXNlIHBwYzsgdGhlbgogCQlkb3NlZCBzOi9wcm9jL2NwdWluZm86L2V0Yy8v
Y3B1aW5mbzpnIC9vcHQvJHtQfS9qcmUvYmluL2xpYmppdGMuc28KIAkJZG9zZWQgczovcHJvYy9j
cHVpbmZvOi9ldGMvL2NwdWluZm86ZyAvb3B0LyR7UH0vanJlL2Jpbi9saWJqaXRjX2cuc28KLQkJ
aW5zaW50byAke0R9L2V0YworCQlpbnNpbnRvIC9ldGMKIAkJZG9pbnMgJHtGSUxFU0RJUn0vY3B1
aW5mbwotCWVsc2UKLQkJIyBObyBqYXZhLXBsdWdpbiBvbiBwcGMKLQkJaW5zdF9wbHVnaW4gL29w
dC8ke1B9L2pyZS9iaW4vbGliamF2YXBsdWdpbl9vamkuc28KKwlmaQorCisJaWYgdXNlIG1vemls
bGEgJiYgISB1c2UgcHBjOyB0aGVuCisJCWxvY2FsIHBsdWdpbj0ibGliamF2YXBsdWdpbl9vamku
c28iCisJCWlmIGhhc192ZXJzaW9uICc+PWdjYy0zKicgOyB0aGVuCisJCQlwbHVnaW49ImxpYmph
dmFwbHVnaW5fb2ppZ2NjMy5zbyIKKwkJZmkKKwkJaW5zdGFsbF9tb3ppbGxhX3BsdWdpbiAvb3B0
LyR7UH0vanJlL2Jpbi8ke3BsdWdpbn0KIAlmaQogCiAJZG9odG1sIC1hIGh0bWwsaHRtLEhUTUwg
LXIgZG9jcwpAQCAtNjcsMjMgKzcyLDEzIEBACiBwa2dfcG9zdGluc3QoKSB7CiAJamF2YV9wa2df
cG9zdGluc3QKIAlpZiAhIHVzZSBYOyB0aGVuCi0JCWVpbmZvICIqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiIKKwkJZWNobwogCQllZXJyb3Ig
IllvdSdyZSBub3QgdXNpbmcgWCBzbyBpdHMgcG9zc2libGUgdGhhdCB5b3UgZG9udCBoYXZlIgog
CQllZXJyb3IgImEgWCBzZXJ2ZXIgaW5zdGFsbGVkLCBwbGVhc2UgcmVhZCB0aGUgZm9sbG93aW5n
IHdhcm5pbmc6ICIKIAkJZWVycm9yICJTb21lIHBhcnRzIG9mIElCTSBKREsgcmVxdWlyZSBYRnJl
ZTg2IHRvIGJlIGluc3RhbGxlZC4iCiAJCWVlcnJvciAiQmUgY2FyZWZ1bCB3aGljaCBKYXZhIGxp
YnJhcmllcyB5b3UgYXR0ZW1wdCB0byB1c2UuIgotCQllaW5mbyAiKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioiCi0JCWVjaG8KIAlmaQogCi0J
ZWluZm8gIiBBZnRlciBpbnN0YWxsaW5nICR7UH0gdGhpcyIKLQllaW5mbyAiIHdhcyBzZXQgYXMg
dGhlIGRlZmF1bHQgSlZNIHRvIHJ1bi4iCi0JZWluZm8gIiBXaGVuIGZpbmlzaGVkIHBsZWFzZSBy
dW4gdGhlIGZvbGxvd2luZyBzbyB5b3VyIgotCWVpbmZvICIgZW52aXJvbWVudCBnZXRzIHVwZGF0
ZWQuIgotCWVlcnJvciAiICAgIC91c3Ivc2Jpbi9lbnYtdXBkYXRlICYmIHNvdXJjZSAvZXRjL3By
b2ZpbGUiCi0JZWluZm8gIiBPciB1c2UgamF2YS1jb25maWcgcHJvZ3JhbSB0byBzZXQgeW91ciBw
cmVmZXJyZWQgVk0iCi0JZWluZm8gIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKiIKLQogCWViZWVwIDUKIAllcGF1c2UgOAogfQpJbmRleDogZGV2
LWphdmEvaWJtLWpkay1iaW4vaWJtLWpkay1iaW4tMS40LjIuZWJ1aWxkCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2Rldi1qYXZhL2libS1qZGstYmluL2libS1q
ZGstYmluLTEuNC4yLmVidWlsZCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xMApkaWZmIC11IC1i
IC1CIC1yMS4xMCBpYm0tamRrLWJpbi0xLjQuMi5lYnVpbGQKLS0tIGRldi1qYXZhL2libS1qZGst
YmluL2libS1qZGstYmluLTEuNC4yLmVidWlsZAk2IFNlcCAyMDA0IDE4OjEyOjQ1IC0wMDAwCTEu
MTAKKysrIGRldi1qYXZhL2libS1qZGstYmluL2libS1qZGstYmluLTEuNC4yLmVidWlsZAkyMyBT
ZXAgMjAwNCAxNjozNToyNSAtMDAwMApAQCAtNCw3ICs0LDcgQEAKIAogSVVTRT0iWCBkb2MgamF2
YWNvbW0iCiAKLWluaGVyaXQgamF2YSBuc3BsdWdpbnMgZXV0aWxzCitpbmhlcml0IGphdmEgZXV0
aWxzCiAKIGlmIHVzZSBwcGM7IHRoZW4KIAlTPSIke1dPUktESVJ9L0lCTUphdmEyLXBwYy0xNDIi
CkBAIC01Miw5ICs1MiwxNCBAQAogCQlkb3NlZCBzOi9wcm9jL2NwdWluZm86L2V0Yy8vY3B1aW5m
bzpnIC9vcHQvJHtQfS9qcmUvYmluL2xpYmppdGNfZy5zbwogCQlpbnNpbnRvIC9ldGMKIAkJZG9p
bnMgJHtGSUxFU0RJUn0vY3B1aW5mbwotCWVsc2UKLQkJIyBObyBqYXZhLXBsdWdpbiBvbiBwcGMK
LQkJaW5zdF9wbHVnaW4gL29wdC8ke1B9L2pyZS9iaW4vbGliamF2YXBsdWdpbl9vamkuc28KKwlm
aQorCisJaWYgdXNlIG1vemlsbGEgJiYgISB1c2UgcHBjOyB0aGVuCisJCWxvY2FsIHBsdWdpbj0i
bGliamF2YXBsdWdpbl9vamkuc28iCisJCWlmIGhhc192ZXJzaW9uICc+PWdjYy0zKicgOyB0aGVu
CisJCQlwbHVnaW49ImxpYmphdmFwbHVnaW5fb2ppZ2NjMy5zbyIKKwkJZmkKKwkJaW5zdGFsbF9t
b3ppbGxhX3BsdWdpbiAvb3B0LyR7UH0vanJlL2Jpbi8ke3BsdWdpbn0KIAlmaQogCiAJZG9odG1s
IC1hIGh0bWwsaHRtLEhUTUwgLXIgZG9jcwpAQCAtNjcsMjMgKzcyLDEzIEBACiBwa2dfcG9zdGlu
c3QoKSB7CiAJamF2YV9wa2dfcG9zdGluc3QKIAlpZiAhIHVzZSBYOyB0aGVuCi0JCWVpbmZvICIq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiIK
KwkJZWNobwogCQllZXJyb3IgIllvdSdyZSBub3QgdXNpbmcgWCBzbyBpdHMgcG9zc2libGUgdGhh
dCB5b3UgZG9udCBoYXZlIgogCQllZXJyb3IgImEgWCBzZXJ2ZXIgaW5zdGFsbGVkLCBwbGVhc2Ug
cmVhZCB0aGUgZm9sbG93aW5nIHdhcm5pbmc6ICIKIAkJZWVycm9yICJTb21lIHBhcnRzIG9mIElC
TSBKREsgcmVxdWlyZSBYRnJlZTg2IHRvIGJlIGluc3RhbGxlZC4iCiAJCWVlcnJvciAiQmUgY2Fy
ZWZ1bCB3aGljaCBKYXZhIGxpYnJhcmllcyB5b3UgYXR0ZW1wdCB0byB1c2UuIgotCQllaW5mbyAi
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioi
Ci0JCWVjaG8KIAlmaQogCi0JZWluZm8gIiBBZnRlciBpbnN0YWxsaW5nICR7UH0gdGhpcyIKLQll
aW5mbyAiIHdhcyBzZXQgYXMgdGhlIGRlZmF1bHQgSlZNIHRvIHJ1bi4iCi0JZWluZm8gIiBXaGVu
IGZpbmlzaGVkIHBsZWFzZSBydW4gdGhlIGZvbGxvd2luZyBzbyB5b3VyIgotCWVpbmZvICIgZW52
aXJvbWVudCBnZXRzIHVwZGF0ZWQuIgotCWVlcnJvciAiICAgIC91c3Ivc2Jpbi9lbnYtdXBkYXRl
ICYmIHNvdXJjZSAvZXRjL3Byb2ZpbGUiCi0JZWluZm8gIiBPciB1c2UgamF2YS1jb25maWcgcHJv
Z3JhbSB0byBzZXQgeW91ciBwcmVmZXJyZWQgVk0iCi0JZWluZm8gIioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiIKLQogCWViZWVwIDUKIAllcGF1
c2UgOAogfQpJbmRleDogZGV2LWphdmEvaWJtLWpyZS1iaW4vaWJtLWpyZS1iaW4tMS40LjEtcjEu
ZWJ1aWxkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2Rldi1q
YXZhL2libS1qcmUtYmluL2libS1qcmUtYmluLTEuNC4xLXIxLmVidWlsZCx2CnJldHJpZXZpbmcg
cmV2aXNpb24gMS4xMApkaWZmIC11IC1iIC1CIC1yMS4xMCBpYm0tanJlLWJpbi0xLjQuMS1yMS5l
YnVpbGQKLS0tIGRldi1qYXZhL2libS1qcmUtYmluL2libS1qcmUtYmluLTEuNC4xLXIxLmVidWls
ZAk0IEF1ZyAyMDA0IDEyOjUyOjU0IC0wMDAwCTEuMTAKKysrIGRldi1qYXZhL2libS1qcmUtYmlu
L2libS1qcmUtYmluLTEuNC4xLXIxLmVidWlsZAkyMyBTZXAgMjAwNCAxNjozNToyNSAtMDAwMApA
QCAtMiw3ICsyLDcgQEAKICMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgogIyAkSGVhZGVyOiAvdmFyL2N2c3Jvb3QvZ2VudG9v
LXg4Ni9kZXYtamF2YS9pYm0tanJlLWJpbi9pYm0tanJlLWJpbi0xLjQuMS1yMS5lYnVpbGQsdiAx
LjEwIDIwMDQvMDgvMDQgMTI6NTI6NTQgYXh4byBFeHAgJAogCi1pbmhlcml0IGphdmEgbnNwbHVn
aW5zCitpbmhlcml0IGphdmEKIAogUz0iJHtXT1JLRElSfS9qMnNkayR7UFZ9IgogREVTQ1JJUFRJ
T049IklCTSBKYXZhIERldmVsb3BtZW50IEtpdCAke1BWfSIKQEAgLTQ4LDE2ICs0OCwxMyBAQAog
CQk8ICR7RklMRVNESVJ9LyR7UH0gXAogCQk+ICR7RH0vZXRjL2Vudi5kL2phdmEvMjAke1B9IFwK
IAkJfHwgZGllICJ1bmFibGUgdG8gaW5zdGFsbCBlbnZpcm9ubWVudCBmaWxlIgotfQotCi1wa2df
cG9zdGluc3QoKXsKLQlpbnN0X3BsdWdpbiAvb3B0LyR7UH0vYmluL2phdmFwbHVnaW4uc28KLQl0
cnVlCi19CiAKLXBrZ19wcmVybSgpIHsKLQlpZiBbICEgLXogIiQoamF2YS1jb25maWcgLUogfCBn
cmVwICR7UH0pIiBdIDsgdGhlbgotCQlld2FybiAiSXQgYXBwZWFycyB5b3UgYXJlIHJlbW92aW5n
IHlvdXIgZGVmYXVsdCBzeXN0ZW0gVk0hIgotCQlld2FybiAiUGxlYXNlIHJ1biBqYXZhLWNvbmZp
ZyAtTCB0aGVuIGphdmEtY29uZmlnLVMgdG8gc2V0IGEgbmV3IHN5c3RlbSBWTSEiCisJaWYgdXNl
IG1vemlsbGE7IHRoZW4KKwkJbG9jYWwgcGx1Z2luPSJsaWJqYXZhcGx1Z2luX29qaS5zbyIKKwkJ
aWYgaGFzX3ZlcnNpb24gJz49Z2NjLTMqJyA7IHRoZW4KKwkJCXBsdWdpbj0ibGliamF2YXBsdWdp
bl9vamlnY2MzLnNvIgogCWZpCisJCWluc3RhbGxfbW96aWxsYV9wbHVnaW4gL29wdC8ke1B9L2Jp
bi8ke3BsdWdpbn0KKwlmaQorCiB9CkluZGV4OiBkZXYtamF2YS9pYm0tanJlLWJpbi9pYm0tanJl
LWJpbi0xLjQuMi5lYnVpbGQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3Zhci9jdnNyb290L2dlbnRv
by14ODYvZGV2LWphdmEvaWJtLWpyZS1iaW4vaWJtLWpyZS1iaW4tMS40LjIuZWJ1aWxkLHYKcmV0
cmlldmluZyByZXZpc2lvbiAxLjIKZGlmZiAtdSAtYiAtQiAtcjEuMiBpYm0tanJlLWJpbi0xLjQu
Mi5lYnVpbGQKLS0tIGRldi1qYXZhL2libS1qcmUtYmluL2libS1qcmUtYmluLTEuNC4yLmVidWls
ZAk0IEF1ZyAyMDA0IDE1OjI1OjU3IC0wMDAwCTEuMgorKysgZGV2LWphdmEvaWJtLWpyZS1iaW4v
aWJtLWpyZS1iaW4tMS40LjIuZWJ1aWxkCTIzIFNlcCAyMDA0IDE2OjM1OjI1IC0wMDAwCkBAIC0y
LDcgKzIsNyBAQAogIyBEaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIHYyCiAjICRIZWFkZXI6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2
L2Rldi1qYXZhL2libS1qcmUtYmluL2libS1qcmUtYmluLTEuNC4yLmVidWlsZCx2IDEuMiAyMDA0
LzA4LzA0IDE1OjI1OjU3IHNlam8gRXhwICQKIAotaW5oZXJpdCBqYXZhIG5zcGx1Z2lucworaW5o
ZXJpdCBqYXZhCiAKIFM9IiR7V09SS0RJUn0vajJzZGske1BWfSIKIERFU0NSSVBUSU9OPSJJQk0g
SmF2YSBEZXZlbG9wbWVudCBLaXQgJHtQVn0iCkBAIC00OCwxNiArNDgsMTMgQEAKIAkJPCAke0ZJ
TEVTRElSfS8ke1B9IFwKIAkJPiAke0R9L2V0Yy9lbnYuZC9qYXZhLzIwJHtQfSBcCiAJCXx8IGRp
ZSAidW5hYmxlIHRvIGluc3RhbGwgZW52aXJvbm1lbnQgZmlsZSIKLX0KLQotcGtnX3Bvc3RpbnN0
KCl7Ci0JaW5zdF9wbHVnaW4gL29wdC8ke1B9L2Jpbi9qYXZhcGx1Z2luLnNvCi0JdHJ1ZQotfQog
Ci1wa2dfcHJlcm0oKSB7Ci0JaWYgWyAhIC16ICIkKGphdmEtY29uZmlnIC1KIHwgZ3JlcCAke1B9
KSIgXSA7IHRoZW4KLQkJZXdhcm4gIkl0IGFwcGVhcnMgeW91IGFyZSByZW1vdmluZyB5b3VyIGRl
ZmF1bHQgc3lzdGVtIFZNISIKLQkJZXdhcm4gIlBsZWFzZSBydW4gamF2YS1jb25maWcgLUwgdGhl
biBqYXZhLWNvbmZpZy1TIHRvIHNldCBhIG5ldyBzeXN0ZW0gVk0hIgorCWlmIHVzZSBtb3ppbGxh
OyB0aGVuCisJCWxvY2FsIHBsdWdpbj0ibGliamF2YXBsdWdpbl9vamkuc28iCisJCWlmIGhhc192
ZXJzaW9uICc+PWdjYy0zKicgOyB0aGVuCisJCQlwbHVnaW49ImxpYmphdmFwbHVnaW5fb2ppZ2Nj
My5zbyIKIAlmaQorCQlpbnN0YWxsX21vemlsbGFfcGx1Z2luIC9vcHQvJHtQfS9qcmUvYmluLyR7
cGx1Z2lufQorCWZpCisKIH0KSW5kZXg6IGRldi1qYXZhL3N1bi1qMnNkay9zdW4tajJzZGstMS40
LjEtcjEuZWJ1aWxkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2
L2Rldi1qYXZhL3N1bi1qMnNkay9zdW4tajJzZGstMS40LjEtcjEuZWJ1aWxkLHYKcmV0cmlldmlu
ZyByZXZpc2lvbiAxLjEzCmRpZmYgLXUgLWIgLUIgLXIxLjEzIHN1bi1qMnNkay0xLjQuMS1yMS5l
YnVpbGQKLS0tIGRldi1qYXZhL3N1bi1qMnNkay9zdW4tajJzZGstMS40LjEtcjEuZWJ1aWxkCTI4
IEp1bCAyMDA0IDEwOjU4OjU3IC0wMDAwCTEuMTMKKysrIGRldi1qYXZhL3N1bi1qMnNkay9zdW4t
ajJzZGstMS40LjEtcjEuZWJ1aWxkCTIzIFNlcCAyMDA0IDE2OjM1OjI4IC0wMDAwCkBAIC04LDkg
KzgsOCBAQAogIyBCYXNlZCBvbiBodHRwOi8vd3d3LmxpbnV4ZnJvbXNjcmF0Y2gub3JnL350dXNo
YXIvaGludHMvamF2YWZyb21zY3JhdGNoLnR4dCAoTEZTKQogIyBCeSBUdXNoYXIgVGVyZWRlc2Fp
IDxUdXNoQFlhaG9vLkNvbT4KIAotSVVTRT0ibnB0bCBkb2MiCiAKLWluaGVyaXQgamF2YSBuc3Bs
dWdpbnMKK2luaGVyaXQgamF2YQogCiBKQVZBX1BBVENIRVM9ImRpc2FibGUtc2FuaXR5LWNoZWNr
CiAJZml4LWludGwtZmlsZXMKQEAgLTUxLDYgKzUwLDggQEAKIAl2aXJ0dWFsL2pkay0xLjQuMQog
CXZpcnR1YWwvamF2YS1zY2hlbWUtMiIKIAorSVVTRT0ibnB0bCBkb2MiCisKIHBrZ19ub2ZldGNo
KCkgewogCWVpbmZvICJQbGVhc2UgZG93bmxvYWQiCiAJZWluZm8gIiAgLSAke1NSQ19NT1pIRUFE
RVJTfSIKQEAgLTE1Miw3ICsxNTMsNyBAQAogCiAJY2hvd24gLVIgcm9vdDpyb290ICR7RH0vb3B0
LyR7UH0KIAotCWluc3RfcGx1Z2luIC9vcHQvJHtQfS9qcmUvcGx1Z2luL2kzODYvbnM2MTAvbGli
amF2YXBsdWdpbl9vamkuc28KKwlpbnN0YWxsX21vemlsbGFfcGx1Z2luIC9vcHQvJHtQfS9qcmUv
cGx1Z2luL2kzODYvbnM2MTAvbGliamF2YXBsdWdpbl9vamkuc28KIAlzZXRfamF2YV9lbnYgJHtG
SUxFU0RJUn0vJHtWTUhBTkRMRX0KIH0KIApJbmRleDogZGV2LWphdmEvc3VuLWoyc2RrL3N1bi1q
MnNkay0xLjQuMi5lYnVpbGQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL3Zhci9jdnNyb290L2dlbnRv
by14ODYvZGV2LWphdmEvc3VuLWoyc2RrL3N1bi1qMnNkay0xLjQuMi5lYnVpbGQsdgpyZXRyaWV2
aW5nIHJldmlzaW9uIDEuMTIKZGlmZiAtdSAtYiAtQiAtcjEuMTIgc3VuLWoyc2RrLTEuNC4yLmVi
dWlsZAotLS0gZGV2LWphdmEvc3VuLWoyc2RrL3N1bi1qMnNkay0xLjQuMi5lYnVpbGQJMjEgU2Vw
IDIwMDQgMTQ6MDg6MzAgLTAwMDAJMS4xMgorKysgZGV2LWphdmEvc3VuLWoyc2RrL3N1bi1qMnNk
ay0xLjQuMi5lYnVpbGQJMjMgU2VwIDIwMDQgMTY6MzU6MjggLTAwMDAKQEAgLTIsOSArMiw3IEBA
CiAjIERpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgdjIKICMgJEhlYWRlcjogL3Zhci9jdnNyb290L2dlbnRvby14ODYvZGV2LWphdmEv
c3VuLWoyc2RrL3N1bi1qMnNkay0xLjQuMi5lYnVpbGQsdiAxLjEyIDIwMDQvMDkvMjEgMTQ6MDg6
MzAgYXh4byBFeHAgJAogCi1JVVNFPSJucHRsIGRvYyIKLQotaW5oZXJpdCBqYXZhIG5zcGx1Z2lu
cworaW5oZXJpdCBqYXZhCiAKIEpBVkFfUEFUQ0hFUz0iCiAJcmVtb3ZlLWZpeGVkLXBhdGhzCkBA
IC0yNyw2ICsyNSw3IEBACiBTTE9UPSIwIgogS0VZV09SRFM9Ing4NiAtcHBjIC1hbHBoYSAtc3Bh
cmMiCiBMSUNFTlNFPSJzdW4tY3NsIgorSVVTRT0ibnB0bCBkb2MiCiAKIFJERVBFTkQ9InZpcnR1
YWwvbGliYwogCXZpcnR1YWwveDExCkBAIC0xNDksNyArMTQ4LDcgQEAKIAogCWNob3duIC1SIHJv
b3Q6cm9vdCAke0R9L29wdC8ke1B9CiAKLQlpbnN0X3BsdWdpbiAvb3B0LyR7UH0vanJlL3BsdWdp
bi9pMzg2L25zNjEwL2xpYmphdmFwbHVnaW5fb2ppLnNvCisJaW5zdGFsbF9tb3ppbGxhX3BsdWdp
biAvb3B0LyR7UH0vanJlL3BsdWdpbi9pMzg2L25zNjEwL2xpYmphdmFwbHVnaW5fb2ppLnNvCiAJ
c2V0X2phdmFfZW52ICR7RklMRVNESVJ9LyR7Vk1IQU5ETEV9CiB9CiAKSW5kZXg6IGRldi1qYXZh
L3N1bi1qZGsvc3VuLWpkay0xLjIuMi4wMTcuZWJ1aWxkCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC92
YXIvY3Zzcm9vdC9nZW50b28teDg2L2Rldi1qYXZhL3N1bi1qZGsvc3VuLWpkay0xLjIuMi4wMTcu
ZWJ1aWxkLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIKZGlmZiAtdSAtYiAtQiAtcjEuMiBzdW4t
amRrLTEuMi4yLjAxNy5lYnVpbGQKLS0tIGRldi1qYXZhL3N1bi1qZGsvc3VuLWpkay0xLjIuMi4w
MTcuZWJ1aWxkCTIzIEp1bCAyMDA0IDE2OjA3OjQwIC0wMDAwCTEuMgorKysgZGV2LWphdmEvc3Vu
LWpkay9zdW4tamRrLTEuMi4yLjAxNy5lYnVpbGQJMjMgU2VwIDIwMDQgMTY6MzU6MjkgLTAwMDAK
QEAgLTUwLDcgKzUwLDcgQEAKIAllY2hvCiB9CiAKLXNyY19pbnN0YWxsICgpIHsKK3NyY19pbnN0
YWxsKCkgewogCSMgTWFrZSB0aGUgcm9vdCBkaXJlY3RvcnkgZm9yIHRoZSBpbnN0YWxsYXRpb24u
CiAJZG9kaXIgL29wdC8ke1B9CiAKQEAgLTgwLDIxICs4MCwyMSBAQAogCXNldF9qYXZhX2VudiAk
e0ZJTEVTRElSfS8ke1ZNSEFORExFfSB8fCBkaWUKIH0KIAotcGtnX3Bvc3RpbnN0ICgpIHsKK3Br
Z19wb3N0aW5zdCgpIHsKIAkjIFNldCBhcyBkZWZhdWx0IFZNIGlmIG5vbmUgZXhpc3RzCiAJamF2
YV9wa2dfcG9zdGluc3QKIAogCSMgQWdhaW4sIHRoaXMgd2lsbCBub3Qgd29yayBhcyBhIE1vemls
bGEgcGx1Z2luLgogCWlmIHVzZSBtb3ppbGxhIDsgdGhlbgorCQllY2hvCiAJCWVpbmZvICJKREsg
MS4yLjIgZG9lcyBub3Qgd29yayB3aXRoIE1vemlsbGEuICBBIG1vcmUgcmVjZW50IEpESyBpcyIK
IAkJZWluZm8gInJlcXVpcmVkLiIKLQkJZWNobwogCWZpCiAKIAkjIFdhcm4gdGhlIHVzZXIgaWYg
dGhleSBkb24ndCBhcHBlYXIgdG8gaGF2ZSBYRnJlZTg2IGluc3RhbGxlZC4KIAlpZiAhIHVzZSBY
IDsgdGhlbgorCQllY2hvCiAJCWV3YXJuICJTb21lIHBhcnRzIG9mIFN1bidzIEpESyByZXF1aXJl
IFhGcmVlODYgdG8gYmUgaW5zdGFsbGVkLiIKIAkJZXdhcm4gIkJlIGNhcmVmdWwgd2hpY2ggSmF2
YSBsaWJyYXJpZXMgeW91IGF0dGVtcHQgdG8gdXNlLiIKLQkJZWNobwogCWZpCiB9CkluZGV4OiBk
ZXYtamF2YS9zdW4tamRrL3N1bi1qZGstMS40LjIuMDUuZWJ1aWxkCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZp
bGU6IC92YXIvY3Zzcm9vdC9nZW50b28teDg2L2Rldi1qYXZhL3N1bi1qZGsvc3VuLWpkay0xLjQu
Mi4wNS5lYnVpbGQsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMwpkaWZmIC11IC1iIC1CIC1yMS4z
IHN1bi1qZGstMS40LjIuMDUuZWJ1aWxkCi0tLSBkZXYtamF2YS9zdW4tamRrL3N1bi1qZGstMS40
LjIuMDUuZWJ1aWxkCTYgU2VwIDIwMDQgMTg6NDQ6MjAgLTAwMDAJMS4zCisrKyBkZXYtamF2YS9z
dW4tamRrL3N1bi1qZGstMS40LjIuMDUuZWJ1aWxkCTIzIFNlcCAyMDA0IDE2OjM1OjI5IC0wMDAw
CkBAIC0yLDkgKzIsOCBAQAogIyBEaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyCiAjICRIZWFkZXI6IC92YXIvY3Zzcm9vdC9nZW50
b28teDg2L2Rldi1qYXZhL3N1bi1qZGsvc3VuLWpkay0xLjQuMi4wNS5lYnVpbGQsdiAxLjMgMjAw
NC8wOS8wNiAxODo0NDoyMCBjaWFyYW5tIEV4cCAkCiAKLUlVU0U9ImRvYyBnbm9tZSBrZGUgbW96
aWxsYSBqY2UiCiAKLWluaGVyaXQgamF2YSBuc3BsdWdpbnMgZXV0aWxzCitpbmhlcml0IGphdmEg
ZXV0aWxzCiAKIE1ZX1BWPSR7UFYlLip9XyR7UFYjIyoufQogTVlfUD1qMnNkayR7TVlfUFZ9CkBA
IC0yMiw2ICsyMSw3IEBACiBMSUNFTlNFPSJzdW4tYmNsYS1qYXZhLXZtIgogS0VZV09SRFM9Ing4
NiAtcHBjIC1zcGFyYyAtYWxwaGEgLW1pcHMgLWhwcGEiCiBSRVNUUklDVD0iZmV0Y2giCitJVVNF
PSJkb2MgZ25vbWUga2RlIG1vemlsbGEgamNlIgogCiBERVBFTkQ9Ij49ZGV2LWphdmEvamF2YS1j
b25maWctMS4xLjUKIAlzeXMtYXBwcy9zZWQKQEAgLTU5LDEzICs1OSwxMSBAQAogCiBzcmNfdW5w
YWNrKCkgewogCWlmIFsgISAtciAke0RJU1RESVJ9LyR7QXR9IF07IHRoZW4KLQkJZWVycm9yICJj
YW5ub3QgcmVhZCAke01ZX1BWfS5iaW4uIFBsZWFzZSBjaGVjayB0aGUgcGVybWlzc2lvbiBhbmQg
dHJ5IGFnYWluLiIKLQkJZGllCisJCWRpZSAiY2Fubm90IHJlYWQgJHtNWV9QVn0uYmluLiBQbGVh
c2UgY2hlY2sgdGhlIHBlcm1pc3Npb24gYW5kIHRyeSBhZ2Fpbi4iCiAJZmkKIAlpZiB1c2UgamNl
OyB0aGVuCiAJCWlmIFsgISAtciAke0RJU1RESVJ9LyR7amNlX3BvbGljeX0gXTsgdGhlbgotCQkJ
ZWVycm9yICJjYW5ub3QgcmVhZCAke2pjZV9wb2xpY3l9LiBQbGVhc2UgY2hlY2sgdGhlIHBlcm1p
c3Npb24gYW5kIHRyeSBhZ2Fpbi4iCi0JCQlkaWUKKwkJCWRpZSAiY2Fubm90IHJlYWQgJHtqY2Vf
cG9saWN5fS4gUGxlYXNlIGNoZWNrIHRoZSBwZXJtaXNzaW9uIGFuZCB0cnkgYWdhaW4uIgogCQlm
aQogCWZpCiAJI1NlYXJjaCBmb3IgdGhlIEVMRiBIZWFkZXIKQEAgLTkwLDcgKzg4LDcgQEAKIAlm
aQogfQogCi1zcmNfaW5zdGFsbCAoKSB7CitzcmNfaW5zdGFsbCgpIHsKIAlsb2NhbCBkaXJzPSJi
aW4gaW5jbHVkZSBqcmUgbGliIG1hbiIKIAlkb2RpciAvb3B0LyR7UH0KIApAQCAtMTE3LDE0ICsx
MTUsMTMgQEAKIAkJZG9zeW0gL29wdC8ke1B9L2pyZS9saWIvc2VjdXJpdHkvdW5saW1pdGVkLWpj
ZS9sb2NhbF9wb2xpY3kuamFyIC9vcHQvJHtQfS9qcmUvbGliL3NlY3VyaXR5LwogCWZpCiAKKwlp
ZiB1c2UgbW96aWxsYTsgdGhlbgogCWxvY2FsIHBsdWdpbl9kaXI9Im5zNjEwIgogCWlmIGhhc192
ZXJzaW9uICc+PWdjYy0zLjIqJyA7IHRoZW4KIAkJcGx1Z2luX2Rpcj0ibnM2MTAtZ2NjMzIiCiAJ
ZmkKLQlpZiB1c2UgbW96aWxsYSA7IHRoZW4KLQkJaW5zdGFsbF9tb3ppbGxhX3BsdWdpbiAvb3B0
LyR7UH0vanJlL3BsdWdpbi9pMzg2LyRwbHVnaW5fZGlyL2xpYmphdmFwbHVnaW5fb2ppLnNvCisJ
CWluc3RhbGxfbW96aWxsYV9wbHVnaW4gL29wdC8ke1B9L2pyZS9wbHVnaW4vaTM4Ni8ke3BsdWdp
bl9kaXJ9L2xpYmphdmFwbHVnaW5fb2ppLnNvCiAJZmkKLQlpbnN0X3BsdWdpbiAvb3B0LyR7UH0v
anJlL3BsdWdpbi9pMzg2LyRwbHVnaW5fZGlyL2xpYmphdmFwbHVnaW5fb2ppLnNvCiAKIAkjIGNy
ZWF0ZSBkaXIgZm9yIHN5c3RlbSBwcmVmZXJlbmNlcwogCWRvZGlyIC9vcHQvJHtQfS8uc3lzdGVt
UHJlZnMKQEAgLTE1NCw3ICsxNTEsNyBAQAogCSMgICAgICBpcyBhIGRpcmVjdG9yeSBhbmQgd2ls
bCBub3QgYmUgZ3ppcHBlZCA7KQogfQogCi1wa2dfcG9zdGluc3QgKCkgeworcGtnX3Bvc3RpbnN0
KCkgewogCSMgQ3JlYXRlIGZpbGVzIHVzZWQgYXMgc3RvcmFnZSBmb3Igc3lzdGVtIHByZWZlcmVu
Y2VzLgogCXRvdWNoIC9vcHQvJHtQfS8uc3lzdGVtUHJlZnMvLnN5c3RlbS5sb2NrCiAJY2htb2Qg
NjQ0IC9vcHQvJHtQfS8uc3lzdGVtUHJlZnMvLnN5c3RlbS5sb2NrCkBAIC0xNjYsMTMgKzE2Mywx
MSBAQAogCiAJI1Nob3cgaW5mbyBhYm91dCBuZXRzY2FwZQogCWlmIGhhc192ZXJzaW9uICc+PW5l
dHNjYXBlLW5hdmlnYXRvci00Ljc5LXIxJyB8fCBoYXNfdmVyc2lvbiAnPj1uZXRzY2FwZS1jb21t
dW5pY2F0b3ItNC43OS1yMScgOyB0aGVuCi0JCWVpbmZvICIqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiIKKwkJZWNobwogCQllaW5mbyAiSWYg
eW91IHdhbnQgdG8gaW5zdGFsbCB0aGUgcGx1Z2luIGZvciBOZXRzY2FwZSA0LngsIHR5cGUiCiAJ
CWVpbmZvCiAJCWVpbmZvICIgICBjZCAvdXNyL2xpYi9uc2Jyb3dzZXIvcGx1Z2lucy8iCiAJCWVp
bmZvICIgICBsbiAtc2YgL29wdC8ke1B9L2pyZS9wbHVnaW4vaTM4Ni9uczQvbGliamF2YXBsdWdp
bi5zbyIKLQkJZWluZm8gIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqIgotCQllY2hvCiAJZmkKIAogCSMgaWYgY2hwYXggaXMgb24gdGhlIHRh
cmdldCBzeXN0ZW0sIHNldCB0aGUgYXBwcm9wcmlhdGUgUGFYIGZsYWdzCkBAIC0xODAsNiArMTc1
LDcgQEAKIAkjIGJ1dCBtYXkgY29uZnVzZSB0aGluZ3MgbGlrZSBBViBzY2FubmVycyBhbmQgYXV0
b21hdGljIHRyaXB3aXJlCiAJaWYgaGFzX3ZlcnNpb24gInN5cy1hcHBzL2NocGF4IgogCXRoZW4K
KwkJZWNobwogCQllaW5mbyAic2V0dGluZyB1cCBjb25zZXJ2YXRpdmUgUGFYIGZsYWdzIGZvciBq
YXIsIGphdmFjIGFuZCBqYXZhIgogCiAJCWZvciBwYXhraWxscyBpbiAiamFyIiAiamF2YWMiICJq
YXZhIgpAQCAtMTk3LDIyICsxOTMsOSBAQAogCQlld2FybiAiY2FuIGJlIGdpdmVuIGJ5ICNnZW50
b28taGFyZGVuZWQgKyBwYXBweUBnZW50b28ub3JnIgogCWZpCiAKLQkjVGhhbmtzIHRvIERvdWds
YXMgUG9sbG9jayA8ZG91Z2xhcy5wb2xsb2NrQG1hZ21hLmNhPiBmb3IgdGhpcwotCSNjb21tZW50
IGZvdW5kIG9uIHRoZSBzdW4tamRrIDEuMi4yIGVidWlsZCB0aGF0IGhlIHNlbnQuCi0JZWluZm8g
IioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KiIKKwllY2hvCiAJZWVycm9yICJTb21lIHBhcnRzIG9mIFN1bidzIEpESyByZXF1aXJlIFhGcmVl
ODYgdG8gYmUgaW5zdGFsbGVkLiIKIAllZXJyb3IgIkJlIGNhcmVmdWwgd2hpY2ggSmF2YSBsaWJy
YXJpZXMgeW91IGF0dGVtcHQgdG8gdXNlLiIKLQllaW5mbyAiKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIgotCWVjaG8KLQotCWVpbmZvICIq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioiCi0J
ZWluZm8gIiBBZnRlciBpbnN0YWxsaW5nICR7UH0gdGhpcyIKLQllaW5mbyAiIHdhcyBzZXQgYXMg
dGhlIGRlZmF1bHQgSlZNIHRvIHJ1bi4iCi0JZWluZm8gIiBXaGVuIGZpbmlzaGVkIHBsZWFzZSBy
dW4gdGhlIGZvbGxvd2luZyBzbyB5b3VyIgotCWVpbmZvICIgZW52aXJvbWVudCBnZXRzIHVwZGF0
ZWQuIgotCWVlcnJvciAiICAgIC91c3Ivc2Jpbi9lbnYtdXBkYXRlICYmIHNvdXJjZSAvZXRjL3By
b2ZpbGUiCi0JZWluZm8gIiBPciB1c2UgamF2YS1jb25maWcgcHJvZ3JhbSB0byBzZXQgeW91ciBw
cmVmZXJyZWQgVk0iCi0JZWluZm8gIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKiIKIAogCWViZWVwIDUKIAllcGF1c2UgOApJbmRleDogZGV2LWph
dmEvc3VuLWpkay9zdW4tamRrLTEuNS4wX3JjMS5lYnVpbGQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L3Zhci9jdnNyb290L2dlbnRvby14ODYvZGV2LWphdmEvc3VuLWpkay9zdW4tamRrLTEuNS4wX3Jj
MS5lYnVpbGQsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMwpkaWZmIC11IC1iIC1CIC1yMS4zIHN1
bi1qZGstMS41LjBfcmMxLmVidWlsZAotLS0gZGV2LWphdmEvc3VuLWpkay9zdW4tamRrLTEuNS4w
X3JjMS5lYnVpbGQJNiBTZXAgMjAwNCAxODo0NDoyMCAtMDAwMAkxLjMKKysrIGRldi1qYXZhL3N1
bi1qZGsvc3VuLWpkay0xLjUuMF9yYzEuZWJ1aWxkCTIzIFNlcCAyMDA0IDE2OjM1OjI5IC0wMDAw
CkBAIC0yLDggKzIsNiBAQAogIyBEaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyCiAjICRIZWFkZXI6IC92YXIvY3Zzcm9vdC9nZW50
b28teDg2L2Rldi1qYXZhL3N1bi1qZGsvc3VuLWpkay0xLjUuMF9yYzEuZWJ1aWxkLHYgMS4zIDIw
MDQvMDkvMDYgMTg6NDQ6MjAgY2lhcmFubSBFeHAgJAogCi1JVVNFPSJkb2MgZ25vbWUga2RlIG1v
emlsbGEgamNlIgotCiBpbmhlcml0IGphdmEgZXV0aWxzCiAKIGFtZDY0ZmlsZT0iamRrLTFfNV8w
LXJjLWxpbnV4LWFtZDY0LmJpbiIKQEAgLTI2LDYgKzI0LDcgQEAKIExJQ0VOU0U9InN1bi1iY2xh
LWphdmEtdm0iCiBLRVlXT1JEUz0ifng4NiB+YW1kNjQiCiBSRVNUUklDVD0iZmV0Y2giCitJVVNF
PSJkb2MgZ25vbWUga2RlIG1vemlsbGEgamNlIgogCiAjCiBERVBFTkQ9Ij49ZGV2LWphdmEvamF2
YS1jb25maWctMS4yCkBAIC02NiwxMyArNjUsMTEgQEAKIAogc3JjX3VucGFjaygpIHsKIAlpZiBb
ICEgLXIgJHtESVNURElSfS8ke0F0fSBdOyB0aGVuCi0JCWVlcnJvciAiY2Fubm90IHJlYWQgJHtB
dH0uIFBsZWFzZSBjaGVjayB0aGUgcGVybWlzc2lvbiBhbmQgdHJ5IGFnYWluLiIKLQkJZGllCisJ
CWRpZSAiY2Fubm90IHJlYWQgJHtBdH0uIFBsZWFzZSBjaGVjayB0aGUgcGVybWlzc2lvbiBhbmQg
dHJ5IGFnYWluLiIKIAlmaQogCWlmIHVzZSBqY2U7IHRoZW4KIAkJaWYgWyAhIC1yICR7RElTVERJ
Un0vJHtqY2VmaWxlfSBdOyB0aGVuCi0JCQllZXJyb3IgImNhbm5vdCByZWFkICR7amNlZmlsZX0u
IFBsZWFzZSBjaGVjayB0aGUgcGVybWlzc2lvbiBhbmQgdHJ5IGFnYWluLiIKLQkJCWRpZQorCQkJ
ZGllICJjYW5ub3QgcmVhZCAke2pjZWZpbGV9LiBQbGVhc2UgY2hlY2sgdGhlIHBlcm1pc3Npb24g
YW5kIHRyeSBhZ2Fpbi4iCiAJCWZpCiAJZmkKIApAQCAtMTAyLDcgKzk5LDcgQEAKIAkke1N9L2Jp
bi9qYXZhIC1jbGllbnQgLVhzaGFyZTpkdW1wCiB9CiAKLXNyY19pbnN0YWxsICgpIHsKK3NyY19p
bnN0YWxsKCkgewogCWxvY2FsIGRpcnM9ImJpbiBpbmNsdWRlIGpyZSBsaWIgbWFuIgogCWRvZGly
IC9vcHQvJHtQfQogCkBAIC0xMjgsMTMgKzEyNSwxMiBAQAogCQlkb3N5bSAvb3B0LyR7UH0vanJl
L2xpYi9zZWN1cml0eS91bmxpbWl0ZWQtamNlL2xvY2FsX3BvbGljeS5qYXIgL29wdC8ke1B9L2py
ZS9saWIvc2VjdXJpdHkvCiAJZmkKIAotCisJaWYgdXNlIG1vemlsbGE7IHRoZW4KIAlsb2NhbCBw
bHVnaW5fZGlyPSJuczctZ2NjMjkiCiAJaWYgaGFzX3ZlcnNpb24gJz49Z2NjLTMqJyA7IHRoZW4K
IAkJcGx1Z2luX2Rpcj0ibnM3IgogCWZpCiAKLQlpZiB1c2UgbW96aWxsYSA7IHRoZW4KIAkJaWYg
dXNlIHg4NiA7IHRoZW4KIAkJCWluc3RhbGxfbW96aWxsYV9wbHVnaW4gL29wdC8ke1B9L2pyZS9w
bHVnaW4vaTM4Ni8kcGx1Z2luX2Rpci9saWJqYXZhcGx1Z2luX29qaS5zbwogCQllbHNlCkBAIC0x
NzUsNyArMTcxLDcgQEAKIAkjICAgICAgaXMgYSBkaXJlY3RvcnkgYW5kIHdpbGwgbm90IGJlIGd6
aXBwZWQgOykKIH0KIAotcGtnX3Bvc3RpbnN0ICgpIHsKK3BrZ19wb3N0aW5zdCgpIHsKIAkjIENy
ZWF0ZSBmaWxlcyB1c2VkIGFzIHN0b3JhZ2UgZm9yIHN5c3RlbSBwcmVmZXJlbmNlcy4KIAlQUkVG
U19MT0NBVElPTj0vb3B0LyR7UH0vanJlCiAJbWtkaXIgLXAgJHtQUkVGU19MT0NBVElPTn0vLnN5
c3RlbVByZWZzCkBAIC0xOTMsMTMgKzE4OSwxMSBAQAogCiAJI1Nob3cgaW5mbyBhYm91dCBuZXRz
Y2FwZQogCWlmIGhhc192ZXJzaW9uICc+PW5ldHNjYXBlLW5hdmlnYXRvci00Ljc5LXIxJyB8fCBo
YXNfdmVyc2lvbiAnPj1uZXRzY2FwZS1jb21tdW5pY2F0b3ItNC43OS1yMScgOyB0aGVuCi0JCWVp
bmZvICIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKiIKKwkJZWNobwogCQllaW5mbyAiSWYgeW91IHdhbnQgdG8gaW5zdGFsbCB0aGUgcGx1Z2lu
IGZvciBOZXRzY2FwZSA0LngsIHR5cGUiCiAJCWVpbmZvCiAJCWVpbmZvICIgICBjZCAvdXNyL2xp
Yi9uc2Jyb3dzZXIvcGx1Z2lucy8iCiAJCWVpbmZvICIgICBsbiAtc2YgL29wdC8ke1B9L2pyZS9w
bHVnaW4vaTM4Ni9uczQvbGliamF2YXBsdWdpbi5zbyIKLQkJZWluZm8gIioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIgotCQllY2hvCiAJZmkK
IAogCSMgaWYgY2hwYXggaXMgb24gdGhlIHRhcmdldCBzeXN0ZW0sIHNldCB0aGUgYXBwcm9wcmlh
dGUgUGFYIGZsYWdzCkBAIC0yMDcsNiArMjAxLDcgQEAKIAkjIGJ1dCBtYXkgY29uZnVzZSB0aGlu
Z3MgbGlrZSBBViBzY2FubmVycyBhbmQgYXV0b21hdGljIHRyaXB3aXJlCiAJaWYgaGFzX3ZlcnNp
b24gInN5cy1hcHBzL2NocGF4IgogCXRoZW4KKwkJZWNobwogCQllaW5mbyAic2V0dGluZyB1cCBj
b25zZXJ2YXRpdmUgUGFYIGZsYWdzIGZvciBqYXIsIGphdmFjIGFuZCBqYXZhIgogCiAJCWZvciBw
YXhraWxscyBpbiAiamFyIiAiamF2YWMiICJqYXZhIgpAQCAtMjI0LDMwICsyMTksMTUgQEAKIAkJ
ZXdhcm4gImNhbiBiZSBnaXZlbiBieSAjZ2VudG9vLWhhcmRlbmVkICsgcGFwcHlAZ2VudG9vLm9y
ZyIKIAlmaQogCi0JI1RoYW5rcyB0byBEb3VnbGFzIFBvbGxvY2sgPGRvdWdsYXMucG9sbG9ja0Bt
YWdtYS5jYT4gZm9yIHRoaXMKLQkjY29tbWVudCBmb3VuZCBvbiB0aGUgc3VuLWpkayAxLjIuMiBl
YnVpbGQgdGhhdCBoZSBzZW50LgotCWVpbmZvICIqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioiCisJZWNobwogCWVlcnJvciAiU29tZSBwYXJ0
cyBvZiBTdW4ncyBKREsgcmVxdWlyZSBYRnJlZTg2IHRvIGJlIGluc3RhbGxlZC4iCiAJZWVycm9y
ICJCZSBjYXJlZnVsIHdoaWNoIEphdmEgbGlicmFyaWVzIHlvdSBhdHRlbXB0IHRvIHVzZS4iCi0J
ZWluZm8gIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKiIKLQllY2hvCiAKLQllaW5mbyAiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqIgotCWVpbmZvICIgQWZ0ZXIgaW5zdGFsbGluZyAk
e1B9IHRoaXMiCi0JZWluZm8gIiB3YXMgc2V0IGFzIHRoZSBkZWZhdWx0IEpWTSB0byBydW4uIgot
CWVpbmZvICIgV2hlbiBmaW5pc2hlZCBwbGVhc2UgcnVuIHRoZSBmb2xsb3dpbmcgc28geW91ciIK
LQllaW5mbyAiIGVudmlyb21lbnQgZ2V0cyB1cGRhdGVkLiIKLQllZXJyb3IgIiAgICAvdXNyL3Ni
aW4vZW52LXVwZGF0ZSAmJiBzb3VyY2UgL2V0Yy9wcm9maWxlIgotCWVpbmZvICIgT3IgdXNlIGph
dmEtY29uZmlnIHByb2dyYW0gdG8gc2V0IHlvdXIgcHJlZmVycmVkIFZNIgotCWVpbmZvICIqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioiCi0K
LQkjIHdhcm4gYWJvdXQgYSBkZWZhdWx0IHNldHRpbmcgaW4gSmF2YSAxLjUuMCByYwotCWVpbmZv
ICIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioiCisJZWNobwogCWVpbmZvICIgQmUgY2FyZWZ1bDogJHtQfSdzIEphdmEgY29tcGlsZXIgdXNl
cyIKIAllaW5mbyAiICctc291cmNlIDEuNScgYXMgZGVmYXVsdC4gU29tZSBrZXl3b3JkcyBzdWNo
IGFzICdlbnVtJyIKIAllaW5mbyAiIGFyZSBub3QgdmFsaWQgaWRlbnRpZmllcnMgYW55IG1vcmUg
aW4gdGhhdCBtb2RlLCIKIAllaW5mbyAiIHdoaWNoIGNhbiBjYXVzZSBpbmNvbXBhdGliaWxpdHkg
d2l0aCBjZXJ0YWluIHNvdXJjZXMuIgotCWVpbmZvICIqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioiCiAKIAllYmVlcCA1CiAJZXBhdXNlIDgK
SW5kZXg6IGRldi1qYXZhL3N1bi1qcmUtYmluL3N1bi1qcmUtYmluLTEuNC4yLjA1LXIxLmVidWls
ZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09ClJDUyBmaWxlOiAvdmFyL2N2c3Jvb3QvZ2VudG9vLXg4Ni9kZXYtamF2YS9z
dW4tanJlLWJpbi9zdW4tanJlLWJpbi0xLjQuMi4wNS1yMS5lYnVpbGQsdgpyZXRyaWV2aW5nIHJl
dmlzaW9uIDEuMQpkaWZmIC11IC1iIC1CIC1yMS4xIHN1bi1qcmUtYmluLTEuNC4yLjA1LXIxLmVi
dWlsZAotLS0gZGV2LWphdmEvc3VuLWpyZS1iaW4vc3VuLWpyZS1iaW4tMS40LjIuMDUtcjEuZWJ1
aWxkCTEwIFNlcCAyMDA0IDIxOjQzOjE3IC0wMDAwCTEuMQorKysgZGV2LWphdmEvc3VuLWpyZS1i
aW4vc3VuLWpyZS1iaW4tMS40LjIuMDUtcjEuZWJ1aWxkCTIzIFNlcCAyMDA0IDE2OjM1OjMwIC0w
MDAwCkBAIC0yLDkgKzIsOCBAQAogIyBEaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyCiAjICRIZWFkZXI6IC92YXIvY3Zzcm9vdC9n
ZW50b28teDg2L2Rldi1qYXZhL3N1bi1qcmUtYmluL3N1bi1qcmUtYmluLTEuNC4yLjA1LXIxLmVi
dWlsZCx2IDEuMSAyMDA0LzA5LzEwIDIxOjQzOjE3IGF4eG8gRXhwICQKIAotSVVTRT0iZ25vbWUg
a2RlIG1vemlsbGEiCiAKLWluaGVyaXQgamF2YSBuc3BsdWdpbnMgZXV0aWxzCitpbmhlcml0IGph
dmEgZXV0aWxzCiAKIEF0PSJqMnJlLTFfNF8yXzA1LWxpbnV4LWk1ODYuYmluIgogUz0iJHtXT1JL
RElSfS9qMnJlMS40LjJfMDUiCkBAIC0xNSw2ICsxNCw3IEBACiBMSUNFTlNFPSJzdW4tYmNsYS1q
YXZhLXZtIgogS0VZV09SRFM9In54ODYgLXBwYyAtc3BhcmMgLWFscGhhIC1taXBzIC1ocHBhIgog
UkVTVFJJQ1Q9ImZldGNoIgorSVVTRT0iZ25vbWUga2RlIG1vemlsbGEiCiAKIERFUEVORD0iPj1k
ZXYtamF2YS9qYXZhLWNvbmZpZy0xLjEuNQogCXN5cy1hcHBzL3NlZCIKQEAgLTc3LDE0ICs3Nywx
MyBAQAogCWRvZG9jIENIQU5HRVMgQ09QWVJJR0hUIFJFQURNRSBMSUNFTlNFIFRISVJEUEFSVFlM
SUNFTlNFUkVBRE1FLnR4dAogCWRvaHRtbCBXZWxjb21lLmh0bWwgQ29udHJvbFBhbmVsLmh0bWwK
IAorCWlmIHVzZSBtb3ppbGxhIDsgdGhlbgogCWxvY2FsIHBsdWdpbl9kaXI9Im5zNjEwIgogCWlm
IGhhc192ZXJzaW9uICc+PWdjYy0zLjIqJyA7IHRoZW4KIAkJcGx1Z2luX2Rpcj0ibnM2MTAtZ2Nj
MzIiCiAJZmkKLQlpZiB1c2UgbW96aWxsYSA7IHRoZW4KIAkJaW5zdGFsbF9tb3ppbGxhX3BsdWdp
biAvb3B0LyR7UH0vcGx1Z2luL2kzODYvJHBsdWdpbl9kaXIvbGliamF2YXBsdWdpbl9vamkuc28K
IAlmaQotCWluc3RfcGx1Z2luIC9vcHQvJHtQfS9wbHVnaW4vaTM4Ni8kcGx1Z2luX2Rpci9saWJq
YXZhcGx1Z2luX29qaS5zbwogCiAJIyBjcmVhdGUgZGlyIGZvciBzeXN0ZW0gcHJlZmVyZW5jZXMK
IAlkb2RpciAvb3B0LyR7UH0vLnN5c3RlbVByZWZzCkBAIC0xMjEsMTUgKzEyMCwxNSBAQAogCXRv
dWNoIC9vcHQvJHtQfS8uc3lzdGVtUHJlZnMvLnN5c3RlbVJvb3RNb2RGaWxlCiAJY2htb2QgNjQ0
IC9vcHQvJHtQfS8uc3lzdGVtUHJlZnMvLnN5c3RlbVJvb3RNb2RGaWxlCiAKKwlqYXZhX3BrZ19w
b3N0aW5zdAorCiAJI1Nob3cgaW5mbyBhYm91dCBuZXRzY2FwZQogCWlmIGhhc192ZXJzaW9uICc+
PW5ldHNjYXBlLW5hdmlnYXRvci00Ljc5LXIxJyB8fCBoYXNfdmVyc2lvbiAnPj1uZXRzY2FwZS1j
b21tdW5pY2F0b3ItNC43OS1yMScgOyB0aGVuCi0JCWVpbmZvICIqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiIKKwkJZWNobwogCQllaW5mbyAi
SWYgeW91IHdhbnQgdG8gaW5zdGFsbCB0aGUgcGx1Z2luIGZvciBOZXRzY2FwZSA0LngsIHR5cGUi
CiAJCWVpbmZvCiAJCWVpbmZvICIgICBjZCAvdXNyL2xpYi9uc2Jyb3dzZXIvcGx1Z2lucy8iCiAJ
CWVpbmZvICIgICBsbiAtc2YgL29wdC8ke1B9L2pyZS9wbHVnaW4vaTM4Ni9uczQvbGliamF2YXBs
dWdpbi5zbyIKLQkJZWluZm8gIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqIgotCQllY2hvCiAJZmkKIAogCSMgaWYgY2hwYXggaXMgb24gdGhl
IHRhcmdldCBzeXN0ZW0sIHNldCB0aGUgYXBwcm9wcmlhdGUgUGFYIGZsYWdzCkBAIC0xMzcsNiAr
MTM2LDcgQEAKIAkjIGJ1dCBtYXkgY29uZnVzZSB0aGluZ3MgbGlrZSBBViBzY2FubmVycyBhbmQg
YXV0b21hdGljIHRyaXB3aXJlCiAJaWYgaGFzX3ZlcnNpb24gInN5cy1hcHBzL2NocGF4IgogCXRo
ZW4KKwkJZWNobwogCQllaW5mbyAic2V0dGluZyB1cCBjb25zZXJ2YXRpdmUgUGFYIGZsYWdzIGZv
ciBqYXIsIGphdmFjIGFuZCBqYXZhIgogCiAJCWZvciBwYXhraWxscyBpbiAiamF2YSIKQEAgLTE1
NCwzNiArMTU0LDEwIEBACiAJCWV3YXJuICJjYW4gYmUgZ2l2ZW4gYnkgI2dlbnRvby1oYXJkZW5l
ZCArIHBhcHB5QGdlbnRvby5vcmciCiAJZmkKIAotCSNUaGFua3MgdG8gRG91Z2xhcyBQb2xsb2Nr
IDxkb3VnbGFzLnBvbGxvY2tAbWFnbWEuY2E+IGZvciB0aGlzCi0JI2NvbW1lbnQgZm91bmQgb24g
dGhlIHN1bi1qcmUgMS4yLjIgZWJ1aWxkIHRoYXQgaGUgc2VudC4KLQllaW5mbyAiKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIgorCWVjaG8K
IAllZXJyb3IgIlNvbWUgcGFydHMgb2YgU3VuJ3MgSkRLIHJlcXVpcmUgWEZyZWU4NiB0byBiZSBp
bnN0YWxsZWQuIgogCWVlcnJvciAiQmUgY2FyZWZ1bCB3aGljaCBKYXZhIGxpYnJhcmllcyB5b3Ug
YXR0ZW1wdCB0byB1c2UuIgotCWVpbmZvICIqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioiCi0JZWNobwotCi0JIyBTZXQgYXMgZGVmYXVsdCBW
TSBpZiBub25lIGV4aXN0cwotCWlmIFsgISAtZiAiJHtKQVZBQ30iIF0gOyB0aGVuCi0JCWphdmFf
cGtnX3Bvc3RpbnN0Ci0KLQkJZWluZm8gIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKiIKLQkJZWluZm8gIiBBZnRlciBpbnN0YWxsaW5nICR7UH0g
dGhpcyIKLQkJZWluZm8gIiB3YXMgc2V0IGFzIHRoZSBkZWZhdWx0IEpWTSB0byBydW4uIgotCQll
aW5mbyAiIFdoZW4gZmluaXNoZWQgcGxlYXNlIHJ1biB0aGUgZm9sbG93aW5nIHNvIHlvdXIiCi0J
CWVpbmZvICIgZW52aXJvbWVudCBnZXRzIHVwZGF0ZWQuIgotCQllZXJyb3IgIiAgICAvdXNyL3Ni
aW4vZW52LXVwZGF0ZSAmJiBzb3VyY2UgL2V0Yy9wcm9maWxlIgotCQllaW5mbyAiIE9yIHVzZSBq
YXZhLWNvbmZpZyBwcm9ncmFtIHRvIHNldCB5b3VyIHByZWZlcnJlZCBWTSIKLQkJZWluZm8gIioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiIKLQlm
aQogCiAJZWJlZXAgNQogCWVwYXVzZSA4CiB9Ci0KLXBrZ19wcmVybSgpIHsKLQlpZiBbICEgLXog
IiQoamF2YS1jb25maWcgLUogfCBncmVwICR7UH0pIiBdIDsgdGhlbgotCQlqYXZhLWNvbmZpZyAt
SgotCQlld2FybiAiSXQgYXBwZWFycyB5b3UgYXJlIHJlbW92aW5nIHlvdXIgZGVmYXVsdCBzeXN0
ZW0gVk0hIgotCQlld2FybiAiUGxlYXNlIHJ1biBqYXZhLWNvbmZpZyAtTCB0aGVuIGphdmEtY29u
ZmlnLVMgdG8gc2V0IGEgbmV3IHN5c3RlbSBWTSEiCi0JZmkKLX0KSW5kZXg6IGVjbGFzcy9qYXZh
LmVjbGFzcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvdmFyL2N2c3Jvb3QvZ2VudG9vLXg4Ni9lY2xh
c3MvamF2YS5lY2xhc3MsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTkKZGlmZiAtdSAtYiAtQiAt
cjEuMTkgamF2YS5lY2xhc3MKLS0tIGVjbGFzcy9qYXZhLmVjbGFzcwkyMiBTZXAgMjAwNCAxMTow
NDoyMiAtMDAwMAkxLjE5CisrKyBlY2xhc3MvamF2YS5lY2xhc3MJMjMgU2VwIDIwMDQgMTY6MzY6
MTQgLTAwMDAKQEAgLTEyLDUwICsxMiw0MyBAQAogCiBWTUhBTkRMRT0ke1BOfS0ke1BWfQogCi1m
dW5jdGlvbiBzZWQyKCkgewotCXVuc2V0IGZpbGVuYW1lCi0JdW5zZXQgYXJnbGlzdAotCWxvY2Fs
IGZpbGVuYW1lPSIiCi0JbG9jYWwgYXJnbGlzdAotCWRlY2xhcmUgLWEgYXJnbGlzdAotCXdoaWxl
IHRlc3QgJCMgLWd0IDAgOyBkbwotCQljYXNlICQxIGluCi0JCQktZSkKLQkJCQlzaGlmdAotCQkJ
CWFyZ2xpc3RbJHsjYXJnbGlzdFtAXX1dPSItZSIKLQkJCQlhcmdsaXN0WyR7I2FyZ2xpc3RbQF19
XT0iJDEiCi0JCQk7OwotCQkJKikKLQkJCQlpZiBbIC1lICIkMSIgXSA7IHRoZW4KLQkJCQkJZmls
ZW5hbWU9JDEKLQkJCQlmaQotCQkJOzsKLQkJZXNhYwotCQlzaGlmdAotCWRvbmUKK0VYUE9SVF9G
VU5DVElPTlMgcGtnX3Bvc3RpbnN0IHBrZ19wcmVybQogCi0JaWYgWyAhIC16ICRmaWxlbmFtZSBd
IDsgdGhlbgotCQltdiAiJHtmaWxlbmFtZX0iICIke2ZpbGVuYW1lfS5vcmlnIgotCQlzZWQgIiR7
YXJnbGlzdFtAXX0iIDwgJHtmaWxlbmFtZX0ub3JpZyA+ICR7ZmlsZW5hbWV9Ci0JCXJldHVybiAw
CitqYXZhX3BrZ19wb3N0aW5zdCgpIHsKKwlsb2NhbCBqZGs9JHtQTiMqLX0KKwlpZiBbICR7amRr
OjA6M30gPT0gImpkayIgXTsgdGhlbgorCQlqYXZhX3NldF9kZWZhdWx0X3ZtXwogCWVsc2UKLQkJ
cmV0dXJuIDEKKwkJIyBPbmx5IGluc3RhbGwgdGhlIEpSRSBhcyB0aGUgc3lzdGVtIGRlZmF1bHQg
aWYgdGhlcmUncyBubyBKREsKKwkJIyBpbnN0YWxsZWQuIEluc3RhbGxpbmcgYSBKUkUgb3ZlciBh
biBleGlzdGluZyBKREsgd2lsbCByZXN1bHQKKwkJIyBpbiBtYWpvciBicmVha2FnZSwgc2VlICM5
Mjg5LgorCQlpZiBbICEgLWYgIiR7SkFWQUN9IiBdOyB0aGVuCisJCQkgZXdhcm4gIkZvdW5kIG5v
IEpESywgc2V0dGluZyAke1ZNSEFORExFfSBhcyBkZWZhdWx0IHN5c3RlbSBWTSIKKwkJCWphdmFf
c2V0X2RlZmF1bHRfdm1fCiAJZmkKKwlmaQorCWphdmFfbW96aWxsYV9jbGVhbl8KIH0KIAotamF2
YV9wa2dfcG9zdGluc3QoKSB7Ci0jCWlmIFsgLXogYGphdmEtY29uZmlnIC0tamF2YSAyPiAvZGV2
L251bGxgIF0gOyB0aGVuCi0jCQllaW5mbyAiTm8gZGVmYXVsdCBWTSBmb3VuZCwgc2V0dGluZyAk
e1ZNSEFORExFfSBhcyBkZWZhdWx0IgotCQllaW5mbyAiU2V0dGluZyAke1ZNSEFORExFfSBhcyBk
ZWZhdWx0IgotCQllaW5mbyAiVXNlIGphdmEtY29uZmlnIHRvIHJlYXNzaWduIHlvdXIgVk0uIgor
amF2YV9wa2dfcHJlcm0oKSB7CisJaWYgamF2YS1jb25maWcgLUogfCBncmVwIC1xICR7UH0gOyB0
aGVuCisJCWV3YXJuICJJdCBhcHBlYXJzIHlvdSBhcmUgcmVtb3ZpbmcgeW91ciBkZWZhdWx0IHN5
c3RlbSBWTSEiCisJCWV3YXJuICJQbGVhc2UgcnVuIGphdmEtY29uZmlnIC1MIHRoZW4gamF2YS1j
b25maWctUyB0byBzZXQgYSBuZXcgc3lzdGVtIFZNISIKKwlmaQorfQorCitqYXZhX3NldF9kZWZh
dWx0X3ZtXygpIHsKIAkJamF2YS1jb25maWcgLS1zZXQtc3lzdGVtLXZtPSR7Vk1IQU5ETEV9CiAJ
CS91c3Ivc2Jpbi9lbnYtdXBkYXRlCiAJCXNvdXJjZSAvZXRjL3Byb2ZpbGUKLSMJZmkKLX0KIAot
cGtnX3Bvc3RpbnN0KCkgewotCWphdmFfcGtnX3Bvc3RpbnN0CisJZWNobworCWVpbmZvICIgQWZ0
ZXIgaW5zdGFsbGluZyAke1B9IHRoaXMiCisJZWluZm8gIiB3YXMgc2V0IGFzIHRoZSBkZWZhdWx0
IEpWTSB0byBydW4uIgorCWVpbmZvICIgV2hlbiBmaW5pc2hlZCBwbGVhc2UgcnVuIHRoZSBmb2xs
b3dpbmcgc28geW91ciIKKwllaW5mbyAiIGVudmlyb21lbnQgZ2V0cyB1cGRhdGVkLiIKKwllZXJy
b3IgIgkvdXNyL3NiaW4vZW52LXVwZGF0ZSAmJiBzb3VyY2UgL2V0Yy9wcm9maWxlIgorCWVpbmZv
ICIgT3IgdXNlIGphdmEtY29uZmlnIHByb2dyYW0gdG8gc2V0IHlvdXIgcHJlZmVycmVkIFZNIgog
fQogCiBzeXN0ZW1fYXJjaCgpIHsKQEAgLTgyLDEyICs3NSwzMSBAQAogCQk+ICR7RH0vZXRjL2Vu
di5kL2phdmEvMjBgYmFzZW5hbWUgJDFgIHx8IGRpZQogfQogCi1pbnN0YWxsX21vemlsbGFfcGx1
Z2luKCkgewotCWxvY2FsIGJuCi0JYm49YGJhc2VuYW1lICQxYAogCi0JaWYgdXNlIG1vemlsbGEg
OyB0aGVuCi0JCWRvZGlyIC91c3IvJChnZXRfbGliZGlyKS9tb3ppbGxhL3BsdWdpbnMKLQkJZG9z
eW0gJDEgL3Vzci8kKGdldF9saWJkaXIpL21vemlsbGEvcGx1Z2lucy8ke2JufQoramF2YV9nZXRf
cGx1Z2luX2Rpcl8oKSB7CisJZWNobyAvdXNyLyQoZ2V0X2xpYmRpcikvbnNicm93c2VyL3BsdWdp
bnMKK30KKworaW5zdGFsbF9tb3ppbGxhX3BsdWdpbigpIHsKKwlpZiBbICEgLWYgJHtEfS8kMSBd
IDsgdGhlbgorCQlkaWUgIkNhbm5vdCBmaW5kICR7MX0iCiAJZmkKKworCWxvY2FsIHBsdWdpbl9k
aXI9JChqYXZhX2dldF9wbHVnaW5fZGlyXykKKwlkb2RpciAke3BsdWdpbl9kaXJ9CisJZG9zeW0g
JHsxfSAke3BsdWdpbl9kaXJ9L2phdmFwbHVnaW4uc28KIH0KKworamF2YV9tb3ppbGxhX2NsZWFu
XygpIHsKKwkjQmVjYXVzZSBwcmV2aW91c2x5IHNvbWUgZWJ1aWxkcyBpbnN0YWxsZWQgc3ltbGlu
a3Mgb3V0c2lkZSBvZiBwa2dfaW5zdGFsbAorCSNhbmQgYXJlIGxlZnQgYmVoaW5kLCB3aGljaCBm
b3JjZXMgeW91IHRvIG1hbnVhbHkgcmVtb3ZlIHRoZW0gdG8gc2VsZWN0IHRoZQorCSNqZGsvanJl
IHlvdSB3YW50IHRvIHVzZSBmb3IgamF2YQorCWxvY2FsIHBsdWdpbl9kaXI9JChqYXZhX2dldF9w
bHVnaW5fZGlyXykKKwlmb3IgZmlsZSBpbiAke3BsdWdpbl9kaXJ9L2phdmFwbHVnaW5fKjsgZG8K
KwkJcm0gLWYgJHtmaWxlfQorCWRvbmUKKwlmb3IgZmlsZSBpbiAke3BsdWdpbl9kaXJ9L2xpYmph
dmFwbHVnaW4qOyBkbworCQlybSAtZiAke2ZpbGV9CisJZG9uZQorfQorCg==
</data>        

          </attachment>
    </bug>

</bugzilla>