<?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>182622</bug_id>
          
          <creation_ts>2007-06-19 22:59 0000</creation_ts>
          <short_desc>x11-drivers/nvidia-drivers request for nvidia-settings USE flag</short_desc>
          <delta_ts>2007-07-12 21:33:43 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>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>adriancz@go2.pl</reporter>
          <assigned_to>x11-drivers@gentoo.org</assigned_to>
          <cc>brebs@sent.com</cc>
    
    <cc>ingmar@gentoo.org</cc>
    
    <cc>polynomial-c@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>adriancz@go2.pl</who>
            <bug_when>2007-06-19 22:59:23 0000</bug_when>
            <thetext>nvidia-drivers-100.14.09 installs nvidia-settings that is not needed by many people.


Reproducible: Always

Steps to Reproduce:</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>admin@JeTMusic.org</who>
            <bug_when>2007-06-20 00:01:38 0000</bug_when>
            <thetext>i tried this drivers and they works too bad :( with 9755 drivers i get 26000 FPS, but with 100.14.09 i only get 17000...
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>brebs@sent.com</who>
            <bug_when>2007-06-23 10:13:18 0000</bug_when>
            <thetext>See bug #176135 comment #7 as a good reason for *including* nvidia-settings. Another good reason is that it&apos;s a very useful utility.

Making nvidia-settings optional via a USE flag will just cause bug reports from people complaining that it&apos;s &quot;missing&quot;.

I don&apos;t see why it&apos;s worth adding such a USE flag.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ng0@mail.bg</who>
            <bug_when>2007-06-23 10:50:00 0000</bug_when>
            <thetext>(In reply to comment #2)
&gt; Making nvidia-settings optional via a USE flag will just cause bug reports from
&gt; people complaining that it&apos;s &quot;missing&quot;.
&gt; 
&gt; I don&apos;t see why it&apos;s worth adding such a USE flag.

This wouldn&apos;t happen if you just enable it by default. Only those who don&apos;t want it will disable it through package.use and everybody is happy, right?</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>brebs@sent.com</who>
            <bug_when>2007-06-23 11:55:20 0000</bug_when>
            <thetext>(In reply to comment #3)
&gt; enable it by default.

Which means adding it to the profiles, to be elegant.

But, what&apos;s missing from this bug report is a *good* reason why such a USE flag is worth the effort.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>adriancz@go2.pl</who>
            <bug_when>2007-06-23 13:27:51 0000</bug_when>
            <thetext>&gt; But, what&apos;s missing from this bug report is a *good* reason why such a USE flag
&gt; is worth the effort.
&gt; 

1) There are people who don&apos;t need it. Gentoo is about choice, so more options are welcome.
2) It depends on GTK2, believe me that there are people who don&apos;t like it.
3) There is better (IMHO) tool to adjust settings of nvidia driver available, it&apos;s nvclock.


</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wolf31o2@gentoo.org</who>
            <bug_when>2007-06-23 13:46:31 0000</bug_when>
            <thetext>I&apos;m really on the fence with this one.  I can feel for having the ability to
not install something that is really optional, but it is so damn useful (and
not terribly large) that one could also argue for simply always including it,
as was done here.  I don&apos;t really care either way, as I can see positive
aspects of both.  Perhaps, rather than using USE=&quot;nvidia-settings&quot; (I always
hate long USE flag names) to control this behavior, we use USE=&quot;gtk&quot; instead. 
Since nvidia-settings requires GTK+ and the drivers themselves do not, this
seems to be a decent compromise, as gtk is already in default USE pretty much
everywhere, but it could still be turned off by users who wished.

Thoughts?  Ideas?  Tomatoes?  Cardoe?

Also, remember that Gentoo isn&apos;t about choice just for the sake of choice, we&apos;re about choice where it makes sense to empower the user to make their own decision.  Try to think empowerment, rather than choice.  We want to give the user everything that they need to run things how they want, even if how they want is different from how &quot;we&quot; want it.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>adriancz@go2.pl</who>
            <bug_when>2007-06-23 14:08:11 0000</bug_when>
            <thetext>(In reply to comment #6)
&gt;Perhaps, rather than using USE=&quot;nvidia-settings&quot; (I always
&gt; hate long USE flag names) to control this behavior, we use USE=&quot;gtk&quot; instead. 
&gt; Since nvidia-settings requires GTK+ and the drivers themselves do not, this
&gt; seems to be a decent compromise, as gtk is already in default USE pretty much
&gt; everywhere, but it could still be turned off by users who wished.

I like this idea. I&apos;d be even better to have USE=&quot;gtk&quot; instead of lengthy USE=&quot;nvidia-settings&quot;.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>brebs@sent.com</who>
            <bug_when>2007-06-24 07:08:45 0000</bug_when>
            <thetext>Created an attachment (id=122946)
nvidia-drivers-100.14.11.ebuild

Ebuild to make nvidia-settings optional.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>adriancz@go2.pl</who>
            <bug_when>2007-06-24 10:32:24 0000</bug_when>
            <thetext>(In reply to comment #8)
&gt; Created an attachment (id=122946) [edit]
&gt; nvidia-drivers-100.14.11.ebuild
&gt; 
&gt; Ebuild to make nvidia-settings optional.
&gt; 

nvidia-settings isn&apos;t downloaded when you have &quot;-gtk&quot;, but

	unpack &quot;nvidia-settings-${SETTINGS_V}.tar.gz&quot;
	cd &quot;${SETTINGS_DIR}&quot; || die
	sed -i.orig \
		-e &apos;s,DoNormalLib NormalLibXrandr,DoNormalLib YES,g&apos; \
		src/libXNVCtrl/Imakefile || die &quot;sed Imakefile

executes always. If you make this code conditional it will work, I checked :)

Thank you.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>brebs@sent.com</who>
            <bug_when>2007-06-24 10:49:28 0000</bug_when>
            <thetext>Created an attachment (id=122958)
nvidia-drivers-100.14.11.ebuild

Fixed.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>adriancz@go2.pl</who>
            <bug_when>2007-06-25 18:46:47 0000</bug_when>
            <thetext>(In reply to comment #10)
&gt; Created an attachment (id=122958) [edit]
&gt; nvidia-drivers-100.14.11.ebuild
&gt; 
&gt; Fixed.
&gt; 

Works for me, thx. Will it be included in portage tree?
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>cardoe@gentoo.org</who>
            <bug_when>2007-07-12 16:32:46 0000</bug_when>
            <thetext>much easier to handle changes when you provide a diff rather then posting the whole ebuild. A lot has changed in the in tree ebuild since you made this one so it&apos;s taken me a while to wade through all the changes to figure out what needs to change.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>cardoe@gentoo.org</who>
            <bug_when>2007-07-12 16:39:51 0000</bug_when>
            <thetext>Fixed in 100.14.11.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>brebs@sent.com</who>
            <bug_when>2007-07-12 21:25:24 0000</bug_when>
            <thetext>No, look at my ebuild. Notice how things are *quoted*, so that it doesn&apos;t screw up if a directory contains a space.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>cardoe@gentoo.org</who>
            <bug_when>2007-07-12 21:33:43 0000</bug_when>
            <thetext>As I previously stated, I won&apos;t read through entire ebuilds. Provide diffs.

Either way, the proper places are quoted in the current ebuilds. There is an over zealous use of quoting in the copy you provided... /usr/lib/ does not need to be quoted. If you have a space in /usr/lib, you have more issues then an nvidia driver pkg.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>122946</attachid>
            <date>2007-06-24 07:08 0000</date>
            <desc>nvidia-drivers-100.14.11.ebuild</desc>
            <filename>nvidia-drivers-100.14.11.ebuild</filename>
            <type>text/plain</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDA3IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk
ZXI6ICQKCmluaGVyaXQgZXV0aWxzIG11bHRpbGliIHZlcnNpb25hdG9yIGxpbnV4LW1vZCBmbGFn
LW8tbWF0aWMKClNFVFRJTkdTX1Y9IjEuMCIKTlZfVj0iJHtQVi8xLjAuLzEuMC19IgpYODZfTlZf
UEFDS0FHRT0iTlZJRElBLUxpbnV4LXg4Ni0ke05WX1Z9IgpBTUQ2NF9OVl9QQUNLQUdFPSJOVklE
SUEtTGludXgteDg2XzY0LSR7TlZfVn0iClg4Nl9GQlNEX05WX1BBQ0tBR0U9Ik5WSURJQS1GcmVl
QlNELXg4Ni0ke05WX1Z9IgoKREVTQ1JJUFRJT049Ik5WSURJQSBYMTEgZHJpdmVyIGFuZCBHTFgg
bGlicmFyaWVzIgpIT01FUEFHRT0iaHR0cDovL3d3dy5udmlkaWEuY29tLyIKU1JDX1VSST0ieDg2
PyAoIGh0dHA6Ly91cy5kb3dubG9hZC5udmlkaWEuY29tL1hGcmVlODYvTGludXgteDg2LyR7TlZf
Vn0vJHtYODZfTlZfUEFDS0FHRX0tcGtnMC5ydW4gKQoJYW1kNjQ/ICggaHR0cDovL3VzLmRvd25s
b2FkLm52aWRpYS5jb20vWEZyZWU4Ni9MaW51eC14ODZfNjQvJHtOVl9WfS8ke0FNRDY0X05WX1BB
Q0tBR0V9LXBrZzIucnVuICkKCXg4Ni1mYnNkPyAoIGh0dHA6Ly91cy5kb3dubG9hZC5udmlkaWEu
Y29tL2ZyZWVic2QvJHtOVl9WfS8ke1g4Nl9GQlNEX05WX1BBQ0tBR0V9LnRhci5neiApCglndGs/
ICggZnRwOi8vZG93bmxvYWQubnZpZGlhLmNvbS9YRnJlZTg2L252aWRpYS1zZXR0aW5ncy9udmlk
aWEtc2V0dGluZ3MtJHtTRVRUSU5HU19WfS50YXIuZ3ogKSIKCkxJQ0VOU0U9Ik5WSURJQSIKU0xP
VD0iMCIKS0VZV09SRFM9Ii0qIH5hbWQ2NCB+eDg2IH54ODYtZmJzZCIKSVVTRT0iZ3RrIgpSRVNU
UklDVD0ic3RyaXAgbXVsdGlsaWItcGtnLWZvcmNlIgoKQ09NTU9OPSJ4MTEtYmFzZS94b3JnLXNl
cnZlcgoJeDExLWxpYnMvbGliWHQKCWtlcm5lbF9GcmVlQlNEPyAoICFtZWRpYS12aWRlby9udmlk
aWEtZnJlZWJzZCApCglndGs/ICggPj14MTEtbGlicy9ndGsrLTIgKQoJIW1lZGlhLXZpZGVvL252
aWRpYS1zZXR0aW5ncwoJIWFwcC1lbXVsYXRpb24vZW11bC1saW51eC14ODYtbnZpZGlhCgkheDEx
LWRyaXZlcnMvbnZpZGlhLWxlZ2FjeS1kcml2ZXJzIgpERVBFTkQ9IiR7Q09NTU9OfQoJa2VybmVs
X2xpbnV4PyAoIHZpcnR1YWwvbGludXgtc291cmNlcyApCglkZXYtdXRpbC9wa2djb25maWcKCXgx
MS1saWJzL2xpYlh2Cgl4MTEtcHJvdG8veGY4NmRyaXByb3RvCgl4MTEtbWlzYy9pbWFrZQoJeDEx
LW1pc2MvZ2NjbWFrZWRlcCIKUkRFUEVORD0iJHtDT01NT059CglrZXJuZWxfbGludXg/ICggdmly
dHVhbC9tb2R1dGlscyApCgltZWRpYS1saWJzL21lc2EKCWFwcC1hZG1pbi9lc2VsZWN0LW9wZW5n
bCIKClFBX1RFWFRSRUxTX3g4Nj0idXNyL2xpYi94b3JnL2xpYlh2TUNOVklESUEuc28uJHtQVn0K
CXVzci9saWIvb3BlbmdsL252aWRpYS9saWIvbGliR0wuc28uJHtQVn0KCXVzci9saWIvb3Blbmds
L252aWRpYS9saWIvbGliR0xjb3JlLnNvLiR7UFZ9Cgl1c3IvbGliL29wZW5nbC9udmlkaWEvbGli
L2xpYm52aWRpYS1jZmcuc28uJHtQVn0KCXVzci9saWIvb3BlbmdsL252aWRpYS90bHMvbGlibnZp
ZGlhLXRscy5zby4ke1BWfQoJdXNyL2xpYi9vcGVuZ2wvbnZpZGlhL25vLXRscy9saWJudmlkaWEt
dGxzLnNvLiR7UFZ9Cgl1c3IvbGliL2xpYlh2TUNOVklESUEuc28uJHtQVn0KCXVzci9saWIveG9y
Zy9tb2R1bGVzL2RyaXZlcnMvbnZpZGlhX2Rydi5zbwoJdXNyL2xpYi9vcGVuZ2wvbnZpZGlhL2V4
dGVuc2lvbnMvbGliZ2x4LnNvIgoKUUFfVEVYVFJFTFNfeDg2X2Zic2Q9ImJvb3QvbW9kdWxlcy9u
dmlkaWEua28KCXVzci9saWIvb3BlbmdsL252aWRpYS9saWIvbGliR0wuc28uMQoJdXNyL2xpYi9v
cGVuZ2wvbnZpZGlhL2xpYi9saWJHTGNvcmUuc28uMQoJdXNyL2xpYi9vcGVuZ2wvbnZpZGlhL2xp
Yi9saWJudmlkaWEtY2ZnLnNvLiR7UFZ9Cgl1c3IvbGliL29wZW5nbC9udmlkaWEvbm8tdGxzL2xp
Ym52aWRpYS10bHMuc28uMQoJdXNyL2xpYi9vcGVuZ2wvbnZpZGlhL2V4dGVuc2lvbnMvbGliZ2x4
LnNvCgl1c3IvbGliL3hvcmcvbW9kdWxlcy9kcml2ZXJzL252aWRpYV9kcnYuc28iCgpRQV9XWF9M
T0FEX3g4Nj0idXNyL2xpYi9vcGVuZ2wvbnZpZGlhL2xpYi9saWJHTC5zby4ke1BWfQoJdXNyL2xp
Yi9vcGVuZ2wvbnZpZGlhL2xpYi9saWJHTGNvcmUuc28uJHtQVn0KCXVzci9saWIvb3BlbmdsL252
aWRpYS9leHRlbnNpb25zL2xpYmdseC5zbyIKClFBX1RFWFRSRUxTX2FtZDY0PSJ1c3IvbGliNjQv
eG9yZy9saWJYdk1DTlZJRElBLnNvLiR7UFZ9Cgl1c3IvbGliNjQvb3BlbmdsL252aWRpYS9saWIv
bGliR0wuc28uJHtQVn0KCXVzci9saWI2NC9vcGVuZ2wvbnZpZGlhL2xpYi9saWJHTGNvcmUuc28u
JHtQVn0KCXVzci9saWI2NC9vcGVuZ2wvbnZpZGlhL2xpYi9saWJudmlkaWEtY2ZnLnNvLiR7UFZ9
Cgl1c3IvbGliNjQvb3BlbmdsL252aWRpYS90bHMvbGlibnZpZGlhLXRscy5zby4ke1BWfQoJdXNy
L2xpYjY0L29wZW5nbC9udmlkaWEvbm8tdGxzL2xpYm52aWRpYS10bHMuc28uJHtQVn0KCXVzci9s
aWI2NC9saWJYdk1DTlZJRElBLnNvLiR7UFZ9Cgl1c3IvbGliNjQveG9yZy9tb2R1bGVzL2RyaXZl
cnMvbnZpZGlhX2Rydi5zbwoJdXNyL2xpYjY0L29wZW5nbC9udmlkaWEvZXh0ZW5zaW9ucy9saWJn
bHguc28KCXVzci9saWIzMi94b3JnL2xpYlh2TUNOVklESUEuc28uJHtQVn0KCXVzci9saWIzMi9v
cGVuZ2wvbnZpZGlhL2xpYi9saWJHTC5zby4ke1BWfQoJdXNyL2xpYjMyL29wZW5nbC9udmlkaWEv
bGliL2xpYkdMY29yZS5zby4ke1BWfQoJdXNyL2xpYjMyL29wZW5nbC9udmlkaWEvbGliL2xpYm52
aWRpYS1jZmcuc28uJHtQVn0KCXVzci9saWIzMi9vcGVuZ2wvbnZpZGlhL3Rscy9saWJudmlkaWEt
dGxzLnNvLiR7UFZ9Cgl1c3IvbGliMzIvb3BlbmdsL252aWRpYS9uby10bHMvbGlibnZpZGlhLXRs
cy5zby4ke1BWfQoJdXNyL2xpYjMyL2xpYlh2TUNOVklESUEuc28uJHtQVn0KCXVzci9saWIzMi94
b3JnL21vZHVsZXMvZHJpdmVycy9udmlkaWFfZHJ2LnNvCgl1c3IvbGliMzIvb3BlbmdsL252aWRp
YS9leHRlbnNpb25zL2xpYmdseC5zbyIKClFBX1dYX0xPQURfYW1kNjQ9InVzci9saWI2NC9vcGVu
Z2wvbnZpZGlhL2xpYi9saWJHTC5zby4ke1BWfQoJdXNyL2xpYjY0L29wZW5nbC9udmlkaWEvbGli
L2xpYkdMY29yZS5zby4ke1BWfQoJdXNyL2xpYjY0L29wZW5nbC9udmlkaWEvZXh0ZW5zaW9ucy9s
aWJnbHguc28KCXVzci9saWIzMi9vcGVuZ2wvbnZpZGlhL2xpYi9saWJHTC5zby4ke1BWfQoJdXNy
L2xpYjMyL29wZW5nbC9udmlkaWEvbGliL2xpYkdMY29yZS5zby4ke1BWfQoJdXNyL2xpYjMyL29w
ZW5nbC9udmlkaWEvZXh0ZW5zaW9ucy9saWJnbHguc28iCgpleHBvcnQgX1BPU0lYMl9WRVJTSU9O
PSIxOTkyMDkiCgppZiB1c2UgeDg2IDsgdGhlbgoJUEtHX1Y9Ii1wa2cwIgoJTlZfUEFDS0FHRT0i
JHtYODZfTlZfUEFDS0FHRX0iCmVsaWYgdXNlIGFtZDY0IDsgdGhlbgoJUEtHX1Y9Ii1wa2cyIgoJ
TlZfUEFDS0FHRT0iJHtBTUQ2NF9OVl9QQUNLQUdFfSIKZWxpZiB1c2UgeDg2LWZic2QgOyB0aGVu
CglQS0dfVj0iIgoJTlZfUEFDS0FHRT0iJHtYODZfRkJTRF9OVl9QQUNLQUdFfSIKZmkKClM9IiR7
V09SS0RJUn0vJHtOVl9QQUNLQUdFfSR7UEtHX1Z9L3Vzci9zcmMvbnYiClNFVFRJTkdTX0RJUj0i
JHtXT1JLRElSfS9udmlkaWEtc2V0dGluZ3MtJHtTRVRUSU5HU19WfSIKCiMgT24gQlNEIHVzZXJs
YW5kIGl0IHdhbnRzIHJlYWwgbWFrZSBjb21tYW5kCk1BS0U9Im1ha2UiCgptdHJyX2NoZWNrKCkg
ewoJZWJlZ2luICJDaGVja2luZyBmb3IgTVRSUiBzdXBwb3J0IgoJbGludXhfY2hrY29uZmlnX3By
ZXNlbnQgTVRSUgoJZWVuZCAkPwoKCWlmIFtbICQ/IC1uZSAwIF1dIDsgdGhlbgoJCWVlcnJvciAi
VGhpcyB2ZXJzaW9uIG5lZWRzIE1UUlIgc3VwcG9ydCBmb3IgbW9zdCBjaGlwc2V0cyEiCgkJZWVy
cm9yICJQbGVhc2UgZW5hYmxlIE1UUlIgc3VwcG9ydCBpbiB5b3VyIGtlcm5lbCBjb25maWcsIGZv
dW5kIGF0OiIKCQllZXJyb3IKCQllZXJyb3IgIiAgUHJvY2Vzc29yIHR5cGUgYW5kIGZlYXR1cmVz
IgoJCWVlcnJvciAiICAgIFsqXSBNVFJSIChNZW1vcnkgVHlwZSBSYW5nZSBSZWdpc3Rlcikgc3Vw
cG9ydCIKCQllZXJyb3IKCQllZXJyb3IgImFuZCByZWNvbXBpbGUgeW91ciBrZXJuZWwgLi4uIgoJ
CWRpZSAiTVRSUiBzdXBwb3J0IG5vdCBkZXRlY3RlZCEiCglmaQp9Cgpwa2dfc2V0dXAoKSB7Cglp
ZiB1c2UgYW1kNjQgJiYgaGFzX211bHRpbGliX3Byb2ZpbGUgJiYgWyAiJHtERUZBVUxUX0FCSX0i
ICE9ICJhbWQ2NCIgXSA7IHRoZW4KCQllZXJyb3IgIlRoaXMgZWJ1aWxkIGRvZXNuJ3QgY3VycmVu
dGx5IHN1cHBvcnQgY2hhbmdpbmcgeW91ciBkZWZhdWx0IGFiaS4iCgkJZGllICJVbmV4cGVjdGVk
IFwke0RFRkFVTFRfQUJJfSA9ICR7REVGQVVMVF9BQkl9IgoJZmkKCglpZiAhIHVzZSB4ODYtZmJz
ZCA7IHRoZW4KCQlsaW51eC1tb2RfcGtnX3NldHVwCgkJTU9EVUxFX05BTUVTPSJudmlkaWEodmlk
ZW86JHtTfSkiCgkJQlVJTERfUEFSQU1TPSJJR05PUkVfQ0NfTUlTTUFUQ0g9eWVzIFY9MSBTWVNT
UkM9JHtLVl9ESVJ9IFNZU09VVD0ke0tWX09VVF9ESVJ9IgoJCW10cnJfY2hlY2sKCWZpCn0KCnNy
Y191bnBhY2soKSB7Cglsb2NhbCBOVl9QQVRDSF9QUkVGSVg9IiR7RklMRVNESVJ9LyR7UFZ9L05W
SURJQS0ke1BWfSIKCglpZiAhIHVzZSB4ODYtZmJzZCA7IHRoZW4KCQlpZiBbWyAke0tWX01JTk9S
fSAtZXEgNiAmJiAke0tWX1BBVENIfSAtbHQgNyBdXSA7IHRoZW4KCQkJZWNobwoJCQlld2FybiAi
WW91ciBrZXJuZWwgdmVyc2lvbiBpcyAke0tWX01BSk9SfS4ke0tWX01JTk9SfS4ke0tWX1BBVENI
fSIKCQkJZXdhcm4gIlRoaXMgaXMgbm90IG9mZmljaWFsbHkgc3VwcG9ydGVkIGZvciAke1B9LiBJ
dCBpcyBsaWtlbHkgeW91IgoJCQlld2FybiAid2lsbCBub3QgYmUgYWJsZSB0byBjb21waWxlIG9y
IHVzZSB0aGUga2VybmVsIG1vZHVsZS4iCgkJCWV3YXJuICJJdCBpcyByZWNvbW1lbmRlZCB0aGF0
IHlvdSB1cGdyYWRlIHlvdXIga2VybmVsIHRvIGEgdmVyc2lvbiA+PSAyLjYuNyIKCQkJZWNobwoJ
CQlld2FybiAiRE8gTk9UIGZpbGUgYnVnIHJlcG9ydHMgZm9yIGtlcm5lbCB2ZXJzaW9ucyBsZXNz
IHRoYW4gMi42LjcgYXMgdGhleSB3aWxsIGJlIGlnbm9yZWQuIgoJCWZpCglmaQoKCWlmICEgdXNl
IHg4Ni1mYnNkIDsgdGhlbgoJCWNkICIke1dPUktESVJ9IgoJCWJhc2ggIiR7RElTVERJUn0vJHtO
Vl9QQUNLQUdFfSR7UEtHX1Z9LnJ1biIgLS1leHRyYWN0LW9ubHkKCWVsc2UKCQl1bnBhY2sgJHtB
fQoJZmkKCgkjIFBhdGNoZXMgZ28gYmVsb3cgaGVyZSwgYWRkIGJyaWVmIGRlc2NyaXB0aW9uCgl1
c2UgeDg2LWZic2QgXAoJCSYmIGNkICIke1dPUktESVJ9LyR7TlZfUEFDS0FHRX0ke1BLR19WfS9k
b2MiIFwKCQl8fCBjZCAiJHtXT1JLRElSfS8ke05WX1BBQ0tBR0V9JHtQS0dfVn0iCgkjIFVzZSB0
aGUgY29ycmVjdCBkZWZpbmVzIHRvIG1ha2UgZ3RrZ2xleHQgYnVpbGQgd29yawoJZXBhdGNoICIk
e0ZJTEVTRElSfSIvTlZJRElBX2dseC1kZWZpbmVzLnBhdGNoCgkjIFVzZSBzb21lIG1vcmUgc2Vu
c2libGUgZ2wgaGVhZGVycyBhbmQgbWFrZSB3YXkgZm9yIG5ldyBnbGV4dC5oCgllcGF0Y2ggIiR7
RklMRVNESVJ9Ii9OVklESUFfZ2x4LWdsaGVhZGVyLnBhdGNoCgoJaWYgISB1c2UgeDg2LWZic2Qg
OyB0aGVuCgkJIyBRdWlldCBkb3duIHdhcm5pbmdzIHRoZSB1c2VyIGRvZXMgbm90IG5lZWQgdG8g
c2VlCgkJc2VkIC1pIFwKCQkJLWUgJ3M6LVdwb2ludGVyLWFyaXRoOjpnJyBcCgkJCS1lICdzOi1X
c2lnbi1jb21wYXJlOjpnJyBcCgkJCSIke1N9Ii9NYWtlZmlsZS5rYnVpbGQKCgkJIyBJZiB5b3Ug
c2V0IHRoaXMgdGhlbiBpdCdzIHlvdXIgb3duIGZhdWx0IHdoZW4gc3R1ZmYgYnJlYWtzIDopCgkJ
W1sgLW4gJHtVU0VfQ1JBWllfT1BUU30gXV0gJiYgc2VkIC1pICJzOi1POiR7Q0ZMQUdTfToiIE1h
a2VmaWxlLioKCgkJIyBJZiBncmVhdGVyIHRoYW4gMi42LjUgdXNlIE09IGluc3RlYWQgb2YgU1VC
RElSPQoJCWNkICIke1N9IgoJCWNvbnZlcnRfdG9fbSBNYWtlZmlsZS5rYnVpbGQKCWZpCgoJY2Qg
IiR7V09SS0RJUn0iCgl1bnBhY2sgIm52aWRpYS1zZXR0aW5ncy0ke1NFVFRJTkdTX1Z9LnRhci5n
eiIKCWNkICIke1NFVFRJTkdTX0RJUn0iIHx8IGRpZQoJc2VkIC1pLm9yaWcgXAoJCS1lICdzLERv
Tm9ybWFsTGliIE5vcm1hbExpYlhyYW5kcixEb05vcm1hbExpYiBZRVMsZycgXAoJCXNyYy9saWJY
TlZDdHJsL0ltYWtlZmlsZSB8fCBkaWUgInNlZCBJbWFrZWZpbGUiCn0KCnNyY19jb21waWxlKCkg
ewoJIyBUaGlzIGlzIGFscmVhZHkgdGhlIGRlZmF1bHQgb24gTGludXgsIGFzIHRoZXJlJ3Mgbm8g
dG9wbGV2ZWwgTWFrZWZpbGUsIGJ1dAoJIyBvbiBGcmVlQlNEIHRoZXJlJ3Mgb25lIGFuZCB0cmln
Z2VycyB0aGUga2VybmVsIG1vZHVsZSBidWlsZCwgYXMgd2UgaW5zdGFsbAoJIyBpdCBieSBpdHNl
bGYsIHBhc3MgdGhpcy4KCWlmIHVzZSB4ODYtZmJzZCA7IHRoZW4KCQljZCAiJHtXT1JLRElSfS8k
e05WX1BBQ0tBR0V9JHtQS0dfVn0vc3JjIgoJCWVjaG8gTERGTEFHUz0iJChyYXctbGRmbGFncyki
CgkJTUFLRT0iJChnZXRfYm1ha2UpIiBlbWFrZSBDQz0iJCh0Yy1nZXRDQykiIExEPSIkKHRjLWdl
dExEKSIgTERGTEFHUz0iJChyYXctbGRmbGFncykiIHx8IGRpZQoJZWxzZQoJCWxpbnV4LW1vZF9z
cmNfY29tcGlsZQoJZmkKCglpZiB1c2UgZ3RrIDsgdGhlbgoJCSMgbnZpZGlhLXNldHRpbmdzCgkJ
ZWluZm8gIkJ1aWxkaW5nIGxpYlhOVkN0cmwuLi4iCgkJY2QgIiR7U0VUVElOR1NfRElSfS9zcmMv
bGliWE5WQ3RybCIKCQl4bWttZiAtYSB8fCBkaWUgIlJ1bm5pbmcgeG1rbWYgZmFpbGVkIgoJCW1h
a2UgY2xlYW4gfHwgZGllICJDbGVhbmluZyBvbGQgbGliWE5WQ3RybCBmYWlsZWQiCgkJZW1ha2Ug
Q0RFQlVHRkxBR1M9IiR7Q0ZMQUdTfSIgQ0M9IiQodGMtZ2V0Q0MpIiB8fCBkaWUgImVtYWtlIGxp
YlhOVkN0cmwiCgoJCWNkICIke1NFVFRJTkdTX0RJUn0iCgkJZWluZm8gIkJ1aWxkaW5nIG5WaWRp
YS1TZXR0aW5ncy4uLiIKCQllbWFrZSBDQz0iJCh0Yy1nZXRDQykiIHx8IGRpZSAiZW1ha2Ugc2V0
dGluZ3MiCglmaQp9CgpzcmNfaW5zdGFsbCgpIHsKCWxvY2FsIE1MVEVTVD0kKHR5cGUgZHluX3Vu
cGFjaykKCgljZCAiJHtXT1JLRElSfS8ke05WX1BBQ0tBR0V9JHtQS0dfVn0iCgoJaWYgISB1c2Ug
eDg2LWZic2QgOyB0aGVuCgkJbGludXgtbW9kX3NyY19pbnN0YWxsCgoJCSMgQWRkIHRoZSBhbGlh
c2VzCgkJW1sgLWYgIiR7RklMRVNESVJ9Ii9udmlkaWEgXV0gfHwgZGllICJudmlkaWEgbWlzc2lu
ZyBpbiBGSUxFU0RJUiIKCQlzZWQgLWUgJ3M6XCR7UEFDS0FHRX06JyR7UEZ9JzpnJyAiJHtGSUxF
U0RJUn0iL252aWRpYSA+ICIke1dPUktESVJ9Ii9udmlkaWEKCQlpbnNpbnRvIC9ldGMvbW9kdWxl
cy5kCgkJbmV3aW5zICIke1dPUktESVJ9Ii9udmlkaWEgbnZpZGlhIHx8IGRpZQoJZWxzZQoJCWlu
c2ludG8gL2Jvb3QvbW9kdWxlcwoJCWRvaW5zICIke1dPUktESVJ9LyR7WDg2X0ZCU0RfTlZfUEFD
S0FHRX0vc3JjL252aWRpYS5rbGQiIHx8IGRpZQoKCQlleGVpbnRvIC9ib290L21vZHVsZXMKCQlk
b2V4ZSAiJHtXT1JLRElSfS8ke1g4Nl9GQlNEX05WX1BBQ0tBR0V9L3NyYy9udmlkaWEua28iIHx8
IGRpZQoJZmkKCglpZiBbWyAiJHtNTFRFU1Qvc2V0X2FiaX0iID09ICIke01MVEVTVH0iIF1dICYm
IGhhc19tdWx0aWxpYl9wcm9maWxlIDsgdGhlbgoJCWxvY2FsIE9BQkk9JHtBQkl9CgkJZm9yIEFC
SSBpbiAkKGdldF9pbnN0YWxsX2FiaXMpIDsgZG8KCQkJc3JjX2luc3RhbGwtbGlicwoJCWRvbmUK
CQlBQkk9JHtPQUJJfQoJCXVuc2V0IE9BQkkKCWVsaWYgdXNlIGFtZDY0IDsgdGhlbgoJCXNyY19p
bnN0YWxsLWxpYnMgbGliMzIgIiQoZ2V0X211bHRpbGliZGlyKSIKCQlzcmNfaW5zdGFsbC1saWJz
IGxpYiAiJChnZXRfbGliZGlyKSIKCgkJcm0gLXJmICIke0R9L3Vzci8kKGdldF9tdWx0aWxpYmRp
cikiL29wZW5nbC9udmlkaWEvaW5jbHVkZQoJCXJtIC1yZiAiJHtEfS91c3IvJChnZXRfbXVsdGls
aWJkaXIpIi9vcGVuZ2wvbnZpZGlhL2V4dGVuc2lvbnMKCWVsc2UKCQlzcmNfaW5zdGFsbC1saWJz
CglmaQoKCWlzX2ZpbmFsX2FiaSB8fCByZXR1cm4gMAoKCWlmICEgdXNlIHg4Ni1mYnNkIDsgdGhl
bgoJCSMgRG9jcwoJCW5ld2RvYyB1c3Ivc2hhcmUvZG9jL1JFQURNRS50eHQgUkVBRE1FCgkJZG9k
b2MgdXNyL3NoYXJlL2RvYy9Db3B5cmlnaHRzIHVzci9zaGFyZS9kb2MvTlZJRElBX0NoYW5nZWxv
ZwoJCWRvZG9jIHVzci9zaGFyZS9kb2MvWEY4NkNvbmZpZy5zYW1wbGUKCQlkb2h0bWwgdXNyL3No
YXJlL2RvYy9odG1sLyoKCgkJIyBuVmlkaWEgd2FudCBidWcgcmVwb3J0cyB1c2luZyB0aGlzIHNj
cmlwdAoJCWRvYmluIHVzci9iaW4vbnZpZGlhLWJ1Zy1yZXBvcnQuc2ggfHwgZGllCgllbHNlCgkJ
ZG9kb2MgZG9jL3tSRUFETUUsWEY4NkNvbmZpZy5zYW1wbGUsQ29weXJpZ2h0c30KCQlkb2h0bWwg
ZG9jL2h0bWwvKgoJZmkKCglkb2JpbiB1c3IvYmluL252aWRpYS14Y29uZmlnIHx8IGRpZQoKCWlm
IHVzZSBndGsgOyB0aGVuCgkJIyBUYWtpbmcgbnZpZGlhLXNldHRpbmdzIGZyb20gbnZpZGlhLWRy
aXZlcnMgLSBtb3JlIHVwLXRvLWRhdGUKCQlkb2JpbiB1c3IvYmluL252aWRpYS1zZXR0aW5ncyB8
fCBkaWUKCgkJY2QgIiR7U0VUVElOR1NfRElSfSIKCQlpbnNpbnRvICIvdXNyLyQoZ2V0X2xpYmRp
cikiCgkJZG9pbnMgc3JjL2xpYlhOVkN0cmwvbGliWE5WQ3RybC5hIHx8IGRpZQoJCWluc2ludG8g
L3Vzci9pbmNsdWRlL05WQ3RybAoJCWRvaW5zIHNyYy9saWJYTlZDdHJsL3tOVkN0cmwsTlZDdHJs
TGlifS5oIHx8IGRpZQoKCQkjIEluc3RhbGwgaWNvbiBhbmQgLmRlc2t0b3AgZW50cnkKCQlkb2lj
b24gIiR7RklMRVNESVJ9L252aWRpYS1zZXR0aW5ncy5wbmciIHx8IGRpZSAiZG9pY29uIgoJCWRv
bWVudSAiJHtGSUxFU0RJUn0vbnZpZGlhLXNldHRpbmdzLmRlc2t0b3AiIHx8IGRpZSAiZG9tZW51
IgoKCQlkb21hbiBkb2MvbnZpZGlhLXNldHRpbmdzLjEgfHwgZGllCgkJZG9kb2MgZG9jLyoudHh0
CglmaQp9CgojIEluc3RhbGwgbnZpZGlhIGxpYnJhcnk6CiMgdGhlIGZpcnN0IHBhcmFtZXRlciBp
cyB0aGUgcGxhY2Ugd2hlcmUgdG8gaW5zdGFsbCBpdAojIHRoZSBzZWNvbmQgcGFyYW1ldGVyIGlz
IHRoZSBiYXNlIG5hbWUgb2YgdGhlIGxpYnJhcnkKIyB0aGUgdGhpcmQgcGFyYW1ldGVyIGlzIHRo
ZSBwcm92aWRlZCBzb3ZlcnNpb24KZG9udmlkaWEoKSB7Cglkb2RpciAkMQoJZXhlaW50byAkMQoK
CWxpYm5hbWU9JChiYXNlbmFtZSAkMikKCglkb2V4ZSAkMi4kMwoJZG9zeW0gIiR7bGlibmFtZX0u
JHszfSIgIiR7MX0vJHtsaWJuYW1lfSIKCglbWyAkezN9ICE9ICIxIiBdXSAmJiBkb3N5bSAiJHts
aWJuYW1lfS4kezN9IiAiJHsxfS8ke2xpYm5hbWV9LjEiCn0KCnNyY19pbnN0YWxsLWxpYnMoKSB7
Cglsb2NhbCBwa2dsaWJkaXI9bGliCglsb2NhbCBpbnNsaWJkaXI9JChnZXRfbGliZGlyKQoKCWlm
IFtbICR7I30gLWVxIDIgXV0gOyB0aGVuCgkJcGtnbGliZGlyPSR7MX0KCQlpbnNsaWJkaXI9JHsy
fQoJZWxpZiBoYXNfbXVsdGlsaWJfcHJvZmlsZSAmJiBbWyAke0FCSX0gPT0gIng4NiIgXV0gOyB0
aGVuCgkJcGtnbGliZGlyPWxpYjMyCglmaQoKCWxvY2FsIHVzcnBrZ2xpYmRpcj11c3IvJHtwa2ds
aWJkaXJ9Cglsb2NhbCBsaWJkaXI9dXNyL1gxMVI2LyR7cGtnbGliZGlyfQoJbG9jYWwgbW9kdWxl
cz0ke2xpYmRpcn0vbW9kdWxlcwoJbG9jYWwgZHJ2ZGlyPSR7bW9kdWxlc30vZHJpdmVycwoJbG9j
YWwgZXh0ZGlyPSR7bW9kdWxlc30vZXh0ZW5zaW9ucwoJbG9jYWwgaW5jZGlyPXVzci9pbmNsdWRl
L0dMCglsb2NhbCBzb3Zlcj0ke1BWfQoJbG9jYWwgTlZfUk9PVD0iL3Vzci8ke2luc2xpYmRpcn0v
b3BlbmdsL252aWRpYSIKCWxvY2FsIE5PX1RMU19ST09UPSIke05WX1JPT1R9L25vLXRscyIKCWxv
Y2FsIFRMU19ST09UPSIke05WX1JPT1R9L3RscyIKCWxvY2FsIFgxMV9MSUJfRElSPSIvdXNyLyR7
aW5zbGliZGlyfS94b3JnIgoKCWlmICEgaGFzX3ZlcnNpb24geDExLWJhc2UveG9yZy1zZXJ2ZXIg
OyB0aGVuCgkJWDExX0xJQl9ESVI9Ii91c3IvJHtpbnNsaWJkaXJ9IgoJZmkKCglpZiB1c2UgeDg2
LWZic2QgOyB0aGVuCgkJIyBvbiBGcmVlQlNEIGV2ZXJ5dGhpbmcgaXMgb24gb2JqLwoJCXBrZ2xp
YmRpcj1vYmoKCQl1c3Jwa2dsaWJkaXI9b2JqCgkJeDExcGtnbGliZGlyPW9iagoJCWRydmRpcj1v
YmoKCQlleHRkaXI9b2JqCgoJCSMgZG9uJ3QgYXNrIG1lIHdoeSB0aGUgaGVhZGVycyBhcmUgdGhl
cmUuLiBnbHhleHQuaCBpcyBtaXNzaW5nCgkJaW5jZGlyPWRvYwoKCQkjIG9uIEZyZWVCU0QgaXQg
aGFzIGp1c3QgLjEgc3VmZml4CgkJc292ZXI9MQoJZmkKCgkjIFRoZSBHTFggbGlicmFyaWVzCglk
b252aWRpYSAiJHtOVl9ST09UfSIvbGliICIke3VzcnBrZ2xpYmRpcn0iL2xpYkdMLnNvICIke3Nv
dmVyfSIKCWRvbnZpZGlhICIke05WX1JPT1R9Ii9saWIgIiR7dXNycGtnbGliZGlyfSIvbGliR0xj
b3JlLnNvICIke3NvdmVyfSIKCglkb252aWRpYSAiJHtOVl9ST09UfSIvbGliICIke3VzcnBrZ2xp
YmRpcn0iL2xpYm52aWRpYS1jZmcuc28gIiR7c292ZXJ9IgoKCWRvZGlyICIke05PX1RMU19ST09U
fSIKCWRvbnZpZGlhICIke05PX1RMU19ST09UfSIgIiR7dXNycGtnbGliZGlyfSIvbGlibnZpZGlh
LXRscy5zbyAiJHtzb3Zlcn0iCgoJaWYgISB1c2UgeDg2LWZic2QgOyB0aGVuCgkJZG9udmlkaWEg
IiR7VExTX1JPT1R9IiAiJHt1c3Jwa2dsaWJkaXJ9Ii90bHMvbGlibnZpZGlhLXRscy5zbyAiJHtz
b3Zlcn0iCglmaQoKCWlmIHdhbnRfdGxzIDsgdGhlbgoJCWRvc3ltIC4uL3Rscy9saWJudmlkaWEt
dGxzLnNvICIke05WX1JPT1R9Ii9saWIKCQlkb3N5bSAuLi90bHMvbGlibnZpZGlhLXRscy5zby4x
ICIke05WX1JPT1R9Ii9saWIKCQlkb3N5bSAiLi4vdGxzL2xpYm52aWRpYS10bHMuc28uJHtzb3Zl
cn0iICIke05WX1JPT1R9Ii9saWIKCWVsc2UKCQlkb3N5bSAuLi9uby10bHMvbGlibnZpZGlhLXRs
cy5zbyAiJHtOVl9ST09UfSIvbGliCgkJZG9zeW0gLi4vbm8tdGxzL2xpYm52aWRpYS10bHMuc28u
MSAiJHtOVl9ST09UfSIvbGliCgkJZG9zeW0gIi4uL25vLXRscy9saWJudmlkaWEtdGxzLnNvLiR7
c292ZXJ9IiAiJHtOVl9ST09UfSIvbGliCglmaQoKCWlmICEgdXNlIHg4Ni1mYnNkIDsgdGhlbgoJ
CSMgSW5zdGFsbCB0aGUgLmxhIGZpbGUgZm9yIGxpYnRvb2wsIHRvIHByZXZlbnQgZS5nLiBidWcg
IzE3NjQyMwoJCVtbIC1mICIke0ZJTEVTRElSfSIvbGliR0wubGEtcjIgXV0gXAoJCQl8fCBkaWUg
ImxpYkdMLmxhLXIyIG1pc3NpbmcgaW4gRklMRVNESVIiCgkJbG9jYWwgdmVyMT0kKGdldF92ZXJz
aW9uX2NvbXBvbmVudF9yYW5nZSAxKQoJCWxvY2FsIHZlcjI9JChnZXRfdmVyc2lvbl9jb21wb25l
bnRfcmFuZ2UgMikKCQlsb2NhbCB2ZXIzPSQoZ2V0X3ZlcnNpb25fY29tcG9uZW50X3JhbmdlIDMp
CgkJc2VkIC1lICJzOlwke1BWfToke1BWfToiICAgICBcCgkJCS1lICJzOlwke3ZlcjF9OiR7dmVy
MX06IiBcCgkJCS1lICJzOlwke3ZlcjJ9OiR7dmVyMn06IiBcCgkJCS1lICJzOlwke3ZlcjN9OiR7
dmVyM306IiBcCgkJCS1lICJzOlwke2xpYmRpcn06JHtpbnNsaWJkaXJ9OiIgXAoJCQkiJHtGSUxF
U0RJUn0iL2xpYkdMLmxhLXIyID4gIiR7RH0vJHtOVl9ST09UfSIvbGliL2xpYkdMLmxhCglmaQoK
CWV4ZWludG8gIiR7WDExX0xJQl9ESVJ9Ii9tb2R1bGVzL2RyaXZlcnMKCglbWyAtZiAke2RydmRp
cn0vbnZpZGlhX2Rydi5zbyBdXSAmJiBcCgkJZG9leGUgIiR7ZHJ2ZGlyfSIvbnZpZGlhX2Rydi5z
bwoKCWluc2ludG8gIi91c3IvJHtpbnNsaWJkaXJ9IgoJW1sgLWYgJHtsaWJkaXJ9L2xpYlh2TUNO
VklESUEuYSBdXSAmJiBcCgkJZG9pbnMgIiR7bGliZGlyfSIvbGliWHZNQ05WSURJQS5hCglleGVp
bnRvICIvdXNyLyR7aW5zbGliZGlyfSIKCSMgZml4IEJ1ZyAxMzEzMTUKCVtbIC1mICR7bGliZGly
fS9saWJYdk1DTlZJRElBLnNvLiR7UFZ9IF1dICYmIFwKCQlkb2V4ZSAiJHtsaWJkaXJ9L2xpYlh2
TUNOVklESUEuc28uJHtQVn0iICYmIFwKCQlkb3N5bSAibGliWHZNQ05WSURJQS5zby4ke1BWfSIg
XAoJCQkiL3Vzci8ke2luc2xpYmRpcn0iL2xpYlh2TUNOVklESUEuc28KCglleGVpbnRvICIke05W
X1JPT1R9Ii9leHRlbnNpb25zCglbWyAtZiAke21vZHVsZXN9L2xpYm52aWRpYS13ZmIuc28uJHtz
b3Zlcn0gXV0gJiYgXAoJCW5ld2V4ZSAiJHttb2R1bGVzfS9saWJudmlkaWEtd2ZiLnNvLiR7c292
ZXJ9IiBsaWJ3ZmIuc28KCVtbIC1mICR7ZXh0ZGlyfS9saWJnbHguc28uJHtzb3Zlcn0gXV0gJiYg
XAoJCW5ld2V4ZSAiJHtleHRkaXJ9L2xpYmdseC5zby4ke3NvdmVyfSIgbGliZ2x4LnNvCgoJIyBJ
bmNsdWRlcwoJaW5zaW50byAiJHtOVl9ST09UfSIvaW5jbHVkZQoJZG9pbnMgIiR7aW5jZGlyfSIv
Ki5oCn0KCnBrZ19wcmVpbnN0KCkgewoJIyBDYW4gd2UgbWFrZSB1cCBvdXIgbWluZHMgPyE/IT8K
CWxvY2FsIE5WX0Q9JHtEfSBkaXIKCglpZiAhIGhhc192ZXJzaW9uIHgxMS1iYXNlL3hvcmctc2Vy
dmVyIDsgdGhlbgoJCWZvciBkaXIgaW4gbGliIGxpYjMyIGxpYjY0IDsgZG8KCQkJaWYgW1sgLWQg
JHtOVl9EfS91c3IvJHtkaXJ9L3hvcmcgXV0gOyB0aGVuCgkJCQltdiAiJHtOVl9EfS91c3IvJHtk
aXJ9Ii94b3JnLyogIiR7TlZfRH0vdXNyLyR7ZGlyfSIKCQkJCXJtZGlyICIke05WX0R9L3Vzci8k
e2Rpcn0iL3hvcmcKCQkJZmkKCQlkb25lCglmaQoKCSMgQ2xlYW4gdGhlIGR5bmFtaWMgbGliR0wg
c3R1ZmYncyBob21lIHRvIGVuc3VyZQoJIyB3ZSBkb250IGhhdmUgc3RhbGUgbGlicyBmbG9hdGlu
ZyBhcm91bmQKCWlmIFtbIC1kICR7Uk9PVH0vdXNyL2xpYi9vcGVuZ2wvbnZpZGlhIF1dIDsgdGhl
bgoJCXJtIC1yZiAiJHtST09UfSIvdXNyL2xpYi9vcGVuZ2wvbnZpZGlhLyoKCWZpCgkjIE1ha2Ug
c3VyZSB3ZSBudWtlIHRoZSBvbGQgbnZpZGlhLWdseCdzIGVudi5kIGZpbGUKCWlmIFtbIC1lICR7
Uk9PVH0vZXRjL2Vudi5kLzA5bnZpZGlhIF1dIDsgdGhlbgoJCXJtIC1mICIke1JPT1R9Ii9ldGMv
ZW52LmQvMDludmlkaWEKCWZpCn0KCnBrZ19wb3N0aW5zdCgpIHsKCWlmICEgdXNlIHg4Ni1mYnNk
IDsgdGhlbgoJCWxpbnV4LW1vZF9wa2dfcG9zdGluc3QKCWZpCgoJaWYgISB1c2UgZ3RrIDsgdGhl
bgoJCWVsb2cgJ0FkZCB0aGUgImd0ayIgVVNFIGZsYWcgaWYgbnZpZGlhLXNldHRpbmdzIGlzIGRl
c2lyZWQuJwoJZmkKCgkjIFN3aXRjaCB0byB0aGUgbnZpZGlhIGltcGxlbWVudGF0aW9uCgllc2Vs
ZWN0IG9wZW5nbCBzZXQgLS11c2Utb2xkIG52aWRpYQp9Cgp3YW50X3RscygpIHsKCSMgRm9yIHVj
bGliYyBvciBhbnl0aGluZyBub24gZ2xpYmMsIHJldHVybiBmYWxzZQoJaGFzX3ZlcnNpb24gc3lz
LWxpYnMvZ2xpYmMgfHwgcmV0dXJuIDEKCgkjIE9sZCB2ZXJzaW9ucyBvZiBnbGliYyB3ZXJlIGx0
L25vLXRscyBvbmx5CgloYXNfdmVyc2lvbiAnPHN5cy1saWJzL2dsaWJjLTIuMy4yJyAmJiByZXR1
cm4gMQoKCWxvY2FsIHZhbGlkX2Nob3N0PSJ0cnVlIgoJaWYgdXNlIHg4NiA7IHRoZW4KCQljYXNl
ICR7Q0hPU1QvLSp9IGluCgkJCWk0ODZ8aTU4NnxpNjg2KSA7OwoJCQkqKSB2YWxpZF9jaG9zdD0i
ZmFsc2UiCgkJZXNhYwoJZmkKCglbWyAke3ZhbGlkX2Nob3N0fSA9PSAiZmFsc2UiIF1dICYmIHJl
dHVybiAxCgoJIyBJZiB3ZSd2ZSBnb3QgbnB0bCwgd2UndmUgZ290IHRscwoJYnVpbHRfd2l0aF91
c2Ugc3lzLWxpYnMvZ2xpYmMgbnB0bCAmJiByZXR1cm4gMAoKCSMgMi4zLjUgdHVybmVkIG9mZiB0
bHMgZm9yIGxpbnV4dGhyZWFkcyBnbGliYyBvbiBpNDg2IGFuZCBpNTg2CglpZiB1c2UgeDg2ICYm
IGhhc192ZXJzaW9uICc+PXN5cy1saWJzL2dsaWJjLTIuMy41JyA7IHRoZW4KCQljYXNlICR7Q0hP
U1QvLSp9IGluCgkJCWk0ODZ8aTU4NikgcmV0dXJuIDEgOzsKCQllc2FjCglmaQoKCSMgVGhlc2Ug
dmVyc2lvbnMgYnVpbHQgbGludXh0aHJlYWRzIHZlcnNpb24gdG8gc3VwcG9ydCB0bHMsIHRvbwoJ
aGFzX3ZlcnNpb24gJz49c3lzLWxpYnMvZ2xpYmMtMi4zLjQuMjAwNDA2MTktcjInICYmIHJldHVy
biAwCgoJcmV0dXJuIDEKfQoKcGtnX3Bvc3RybSgpIHsKCWlmICEgdXNlIHg4Ni1mYnNkIDsgdGhl
bgoJCWxpbnV4LW1vZF9wa2dfcG9zdHJtCglmaQoJZXNlbGVjdCBvcGVuZ2wgc2V0IC0tdXNlLW9s
ZCB4b3JnLXgxMQp9Cg==
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>122958</attachid>
            <date>2007-06-24 10:49 0000</date>
            <desc>nvidia-drivers-100.14.11.ebuild</desc>
            <filename>nvidia-drivers-100.14.11.ebuild</filename>
            <type>text/plain</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDA3IEdlbnRvbyBGb3VuZGF0aW9uCiMgRGlzdHJpYnV0ZWQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2MgojICRIZWFk
ZXI6ICQKCmluaGVyaXQgZXV0aWxzIG11bHRpbGliIHZlcnNpb25hdG9yIGxpbnV4LW1vZCBmbGFn
LW8tbWF0aWMKClNFVFRJTkdTX1Y9IjEuMCIKTlZfVj0iJHtQVi8xLjAuLzEuMC19IgpYODZfTlZf
UEFDS0FHRT0iTlZJRElBLUxpbnV4LXg4Ni0ke05WX1Z9IgpBTUQ2NF9OVl9QQUNLQUdFPSJOVklE
SUEtTGludXgteDg2XzY0LSR7TlZfVn0iClg4Nl9GQlNEX05WX1BBQ0tBR0U9Ik5WSURJQS1GcmVl
QlNELXg4Ni0ke05WX1Z9IgoKREVTQ1JJUFRJT049Ik5WSURJQSBYMTEgZHJpdmVyIGFuZCBHTFgg
bGlicmFyaWVzIgpIT01FUEFHRT0iaHR0cDovL3d3dy5udmlkaWEuY29tLyIKU1JDX1VSST0ieDg2
PyAoIGh0dHA6Ly91cy5kb3dubG9hZC5udmlkaWEuY29tL1hGcmVlODYvTGludXgteDg2LyR7TlZf
Vn0vJHtYODZfTlZfUEFDS0FHRX0tcGtnMC5ydW4gKQoJYW1kNjQ/ICggaHR0cDovL3VzLmRvd25s
b2FkLm52aWRpYS5jb20vWEZyZWU4Ni9MaW51eC14ODZfNjQvJHtOVl9WfS8ke0FNRDY0X05WX1BB
Q0tBR0V9LXBrZzIucnVuICkKCXg4Ni1mYnNkPyAoIGh0dHA6Ly91cy5kb3dubG9hZC5udmlkaWEu
Y29tL2ZyZWVic2QvJHtOVl9WfS8ke1g4Nl9GQlNEX05WX1BBQ0tBR0V9LnRhci5neiApCglndGs/
ICggZnRwOi8vZG93bmxvYWQubnZpZGlhLmNvbS9YRnJlZTg2L252aWRpYS1zZXR0aW5ncy9udmlk
aWEtc2V0dGluZ3MtJHtTRVRUSU5HU19WfS50YXIuZ3ogKSIKCkxJQ0VOU0U9Ik5WSURJQSIKU0xP
VD0iMCIKS0VZV09SRFM9Ii0qIH5hbWQ2NCB+eDg2IH54ODYtZmJzZCIKSVVTRT0iZ3RrIgpSRVNU
UklDVD0ic3RyaXAgbXVsdGlsaWItcGtnLWZvcmNlIgoKQ09NTU9OPSJ4MTEtYmFzZS94b3JnLXNl
cnZlcgoJeDExLWxpYnMvbGliWHQKCWtlcm5lbF9GcmVlQlNEPyAoICFtZWRpYS12aWRlby9udmlk
aWEtZnJlZWJzZCApCglndGs/ICggPj14MTEtbGlicy9ndGsrLTIgKQoJIW1lZGlhLXZpZGVvL252
aWRpYS1zZXR0aW5ncwoJIWFwcC1lbXVsYXRpb24vZW11bC1saW51eC14ODYtbnZpZGlhCgkheDEx
LWRyaXZlcnMvbnZpZGlhLWxlZ2FjeS1kcml2ZXJzIgpERVBFTkQ9IiR7Q09NTU9OfQoJa2VybmVs
X2xpbnV4PyAoIHZpcnR1YWwvbGludXgtc291cmNlcyApCglkZXYtdXRpbC9wa2djb25maWcKCXgx
MS1saWJzL2xpYlh2Cgl4MTEtcHJvdG8veGY4NmRyaXByb3RvCgl4MTEtbWlzYy9pbWFrZQoJeDEx
LW1pc2MvZ2NjbWFrZWRlcCIKUkRFUEVORD0iJHtDT01NT059CglrZXJuZWxfbGludXg/ICggdmly
dHVhbC9tb2R1dGlscyApCgltZWRpYS1saWJzL21lc2EKCWFwcC1hZG1pbi9lc2VsZWN0LW9wZW5n
bCIKClFBX1RFWFRSRUxTX3g4Nj0idXNyL2xpYi94b3JnL2xpYlh2TUNOVklESUEuc28uJHtQVn0K
CXVzci9saWIvb3BlbmdsL252aWRpYS9saWIvbGliR0wuc28uJHtQVn0KCXVzci9saWIvb3Blbmds
L252aWRpYS9saWIvbGliR0xjb3JlLnNvLiR7UFZ9Cgl1c3IvbGliL29wZW5nbC9udmlkaWEvbGli
L2xpYm52aWRpYS1jZmcuc28uJHtQVn0KCXVzci9saWIvb3BlbmdsL252aWRpYS90bHMvbGlibnZp
ZGlhLXRscy5zby4ke1BWfQoJdXNyL2xpYi9vcGVuZ2wvbnZpZGlhL25vLXRscy9saWJudmlkaWEt
dGxzLnNvLiR7UFZ9Cgl1c3IvbGliL2xpYlh2TUNOVklESUEuc28uJHtQVn0KCXVzci9saWIveG9y
Zy9tb2R1bGVzL2RyaXZlcnMvbnZpZGlhX2Rydi5zbwoJdXNyL2xpYi9vcGVuZ2wvbnZpZGlhL2V4
dGVuc2lvbnMvbGliZ2x4LnNvIgoKUUFfVEVYVFJFTFNfeDg2X2Zic2Q9ImJvb3QvbW9kdWxlcy9u
dmlkaWEua28KCXVzci9saWIvb3BlbmdsL252aWRpYS9saWIvbGliR0wuc28uMQoJdXNyL2xpYi9v
cGVuZ2wvbnZpZGlhL2xpYi9saWJHTGNvcmUuc28uMQoJdXNyL2xpYi9vcGVuZ2wvbnZpZGlhL2xp
Yi9saWJudmlkaWEtY2ZnLnNvLiR7UFZ9Cgl1c3IvbGliL29wZW5nbC9udmlkaWEvbm8tdGxzL2xp
Ym52aWRpYS10bHMuc28uMQoJdXNyL2xpYi9vcGVuZ2wvbnZpZGlhL2V4dGVuc2lvbnMvbGliZ2x4
LnNvCgl1c3IvbGliL3hvcmcvbW9kdWxlcy9kcml2ZXJzL252aWRpYV9kcnYuc28iCgpRQV9XWF9M
T0FEX3g4Nj0idXNyL2xpYi9vcGVuZ2wvbnZpZGlhL2xpYi9saWJHTC5zby4ke1BWfQoJdXNyL2xp
Yi9vcGVuZ2wvbnZpZGlhL2xpYi9saWJHTGNvcmUuc28uJHtQVn0KCXVzci9saWIvb3BlbmdsL252
aWRpYS9leHRlbnNpb25zL2xpYmdseC5zbyIKClFBX1RFWFRSRUxTX2FtZDY0PSJ1c3IvbGliNjQv
eG9yZy9saWJYdk1DTlZJRElBLnNvLiR7UFZ9Cgl1c3IvbGliNjQvb3BlbmdsL252aWRpYS9saWIv
bGliR0wuc28uJHtQVn0KCXVzci9saWI2NC9vcGVuZ2wvbnZpZGlhL2xpYi9saWJHTGNvcmUuc28u
JHtQVn0KCXVzci9saWI2NC9vcGVuZ2wvbnZpZGlhL2xpYi9saWJudmlkaWEtY2ZnLnNvLiR7UFZ9
Cgl1c3IvbGliNjQvb3BlbmdsL252aWRpYS90bHMvbGlibnZpZGlhLXRscy5zby4ke1BWfQoJdXNy
L2xpYjY0L29wZW5nbC9udmlkaWEvbm8tdGxzL2xpYm52aWRpYS10bHMuc28uJHtQVn0KCXVzci9s
aWI2NC9saWJYdk1DTlZJRElBLnNvLiR7UFZ9Cgl1c3IvbGliNjQveG9yZy9tb2R1bGVzL2RyaXZl
cnMvbnZpZGlhX2Rydi5zbwoJdXNyL2xpYjY0L29wZW5nbC9udmlkaWEvZXh0ZW5zaW9ucy9saWJn
bHguc28KCXVzci9saWIzMi94b3JnL2xpYlh2TUNOVklESUEuc28uJHtQVn0KCXVzci9saWIzMi9v
cGVuZ2wvbnZpZGlhL2xpYi9saWJHTC5zby4ke1BWfQoJdXNyL2xpYjMyL29wZW5nbC9udmlkaWEv
bGliL2xpYkdMY29yZS5zby4ke1BWfQoJdXNyL2xpYjMyL29wZW5nbC9udmlkaWEvbGliL2xpYm52
aWRpYS1jZmcuc28uJHtQVn0KCXVzci9saWIzMi9vcGVuZ2wvbnZpZGlhL3Rscy9saWJudmlkaWEt
dGxzLnNvLiR7UFZ9Cgl1c3IvbGliMzIvb3BlbmdsL252aWRpYS9uby10bHMvbGlibnZpZGlhLXRs
cy5zby4ke1BWfQoJdXNyL2xpYjMyL2xpYlh2TUNOVklESUEuc28uJHtQVn0KCXVzci9saWIzMi94
b3JnL21vZHVsZXMvZHJpdmVycy9udmlkaWFfZHJ2LnNvCgl1c3IvbGliMzIvb3BlbmdsL252aWRp
YS9leHRlbnNpb25zL2xpYmdseC5zbyIKClFBX1dYX0xPQURfYW1kNjQ9InVzci9saWI2NC9vcGVu
Z2wvbnZpZGlhL2xpYi9saWJHTC5zby4ke1BWfQoJdXNyL2xpYjY0L29wZW5nbC9udmlkaWEvbGli
L2xpYkdMY29yZS5zby4ke1BWfQoJdXNyL2xpYjY0L29wZW5nbC9udmlkaWEvZXh0ZW5zaW9ucy9s
aWJnbHguc28KCXVzci9saWIzMi9vcGVuZ2wvbnZpZGlhL2xpYi9saWJHTC5zby4ke1BWfQoJdXNy
L2xpYjMyL29wZW5nbC9udmlkaWEvbGliL2xpYkdMY29yZS5zby4ke1BWfQoJdXNyL2xpYjMyL29w
ZW5nbC9udmlkaWEvZXh0ZW5zaW9ucy9saWJnbHguc28iCgpleHBvcnQgX1BPU0lYMl9WRVJTSU9O
PSIxOTkyMDkiCgppZiB1c2UgeDg2IDsgdGhlbgoJUEtHX1Y9Ii1wa2cwIgoJTlZfUEFDS0FHRT0i
JHtYODZfTlZfUEFDS0FHRX0iCmVsaWYgdXNlIGFtZDY0IDsgdGhlbgoJUEtHX1Y9Ii1wa2cyIgoJ
TlZfUEFDS0FHRT0iJHtBTUQ2NF9OVl9QQUNLQUdFfSIKZWxpZiB1c2UgeDg2LWZic2QgOyB0aGVu
CglQS0dfVj0iIgoJTlZfUEFDS0FHRT0iJHtYODZfRkJTRF9OVl9QQUNLQUdFfSIKZmkKClM9IiR7
V09SS0RJUn0vJHtOVl9QQUNLQUdFfSR7UEtHX1Z9L3Vzci9zcmMvbnYiClNFVFRJTkdTX0RJUj0i
JHtXT1JLRElSfS9udmlkaWEtc2V0dGluZ3MtJHtTRVRUSU5HU19WfSIKCiMgT24gQlNEIHVzZXJs
YW5kIGl0IHdhbnRzIHJlYWwgbWFrZSBjb21tYW5kCk1BS0U9Im1ha2UiCgptdHJyX2NoZWNrKCkg
ewoJZWJlZ2luICJDaGVja2luZyBmb3IgTVRSUiBzdXBwb3J0IgoJbGludXhfY2hrY29uZmlnX3By
ZXNlbnQgTVRSUgoJZWVuZCAkPwoKCWlmIFtbICQ/IC1uZSAwIF1dIDsgdGhlbgoJCWVlcnJvciAi
VGhpcyB2ZXJzaW9uIG5lZWRzIE1UUlIgc3VwcG9ydCBmb3IgbW9zdCBjaGlwc2V0cyEiCgkJZWVy
cm9yICJQbGVhc2UgZW5hYmxlIE1UUlIgc3VwcG9ydCBpbiB5b3VyIGtlcm5lbCBjb25maWcsIGZv
dW5kIGF0OiIKCQllZXJyb3IKCQllZXJyb3IgIiAgUHJvY2Vzc29yIHR5cGUgYW5kIGZlYXR1cmVz
IgoJCWVlcnJvciAiICAgIFsqXSBNVFJSIChNZW1vcnkgVHlwZSBSYW5nZSBSZWdpc3Rlcikgc3Vw
cG9ydCIKCQllZXJyb3IKCQllZXJyb3IgImFuZCByZWNvbXBpbGUgeW91ciBrZXJuZWwgLi4uIgoJ
CWRpZSAiTVRSUiBzdXBwb3J0IG5vdCBkZXRlY3RlZCEiCglmaQp9Cgpwa2dfc2V0dXAoKSB7Cglp
ZiB1c2UgYW1kNjQgJiYgaGFzX211bHRpbGliX3Byb2ZpbGUgJiYgWyAiJHtERUZBVUxUX0FCSX0i
ICE9ICJhbWQ2NCIgXSA7IHRoZW4KCQllZXJyb3IgIlRoaXMgZWJ1aWxkIGRvZXNuJ3QgY3VycmVu
dGx5IHN1cHBvcnQgY2hhbmdpbmcgeW91ciBkZWZhdWx0IGFiaS4iCgkJZGllICJVbmV4cGVjdGVk
IFwke0RFRkFVTFRfQUJJfSA9ICR7REVGQVVMVF9BQkl9IgoJZmkKCglpZiAhIHVzZSB4ODYtZmJz
ZCA7IHRoZW4KCQlsaW51eC1tb2RfcGtnX3NldHVwCgkJTU9EVUxFX05BTUVTPSJudmlkaWEodmlk
ZW86JHtTfSkiCgkJQlVJTERfUEFSQU1TPSJJR05PUkVfQ0NfTUlTTUFUQ0g9eWVzIFY9MSBTWVNT
UkM9JHtLVl9ESVJ9IFNZU09VVD0ke0tWX09VVF9ESVJ9IgoJCW10cnJfY2hlY2sKCWZpCn0KCnNy
Y191bnBhY2soKSB7Cglsb2NhbCBOVl9QQVRDSF9QUkVGSVg9IiR7RklMRVNESVJ9LyR7UFZ9L05W
SURJQS0ke1BWfSIKCglpZiAhIHVzZSB4ODYtZmJzZCA7IHRoZW4KCQlpZiBbWyAke0tWX01JTk9S
fSAtZXEgNiAmJiAke0tWX1BBVENIfSAtbHQgNyBdXSA7IHRoZW4KCQkJZWNobwoJCQlld2FybiAi
WW91ciBrZXJuZWwgdmVyc2lvbiBpcyAke0tWX01BSk9SfS4ke0tWX01JTk9SfS4ke0tWX1BBVENI
fSIKCQkJZXdhcm4gIlRoaXMgaXMgbm90IG9mZmljaWFsbHkgc3VwcG9ydGVkIGZvciAke1B9LiBJ
dCBpcyBsaWtlbHkgeW91IgoJCQlld2FybiAid2lsbCBub3QgYmUgYWJsZSB0byBjb21waWxlIG9y
IHVzZSB0aGUga2VybmVsIG1vZHVsZS4iCgkJCWV3YXJuICJJdCBpcyByZWNvbW1lbmRlZCB0aGF0
IHlvdSB1cGdyYWRlIHlvdXIga2VybmVsIHRvIGEgdmVyc2lvbiA+PSAyLjYuNyIKCQkJZWNobwoJ
CQlld2FybiAiRE8gTk9UIGZpbGUgYnVnIHJlcG9ydHMgZm9yIGtlcm5lbCB2ZXJzaW9ucyBsZXNz
IHRoYW4gMi42LjcgYXMgdGhleSB3aWxsIGJlIGlnbm9yZWQuIgoJCWZpCglmaQoKCWlmICEgdXNl
IHg4Ni1mYnNkIDsgdGhlbgoJCWNkICIke1dPUktESVJ9IgoJCWJhc2ggIiR7RElTVERJUn0vJHtO
Vl9QQUNLQUdFfSR7UEtHX1Z9LnJ1biIgLS1leHRyYWN0LW9ubHkKCWVsc2UKCQl1bnBhY2sgJHtB
fQoJZmkKCgkjIFBhdGNoZXMgZ28gYmVsb3cgaGVyZSwgYWRkIGJyaWVmIGRlc2NyaXB0aW9uCgl1
c2UgeDg2LWZic2QgXAoJCSYmIGNkICIke1dPUktESVJ9LyR7TlZfUEFDS0FHRX0ke1BLR19WfS9k
b2MiIFwKCQl8fCBjZCAiJHtXT1JLRElSfS8ke05WX1BBQ0tBR0V9JHtQS0dfVn0iCgkjIFVzZSB0
aGUgY29ycmVjdCBkZWZpbmVzIHRvIG1ha2UgZ3RrZ2xleHQgYnVpbGQgd29yawoJZXBhdGNoICIk
e0ZJTEVTRElSfSIvTlZJRElBX2dseC1kZWZpbmVzLnBhdGNoCgkjIFVzZSBzb21lIG1vcmUgc2Vu
c2libGUgZ2wgaGVhZGVycyBhbmQgbWFrZSB3YXkgZm9yIG5ldyBnbGV4dC5oCgllcGF0Y2ggIiR7
RklMRVNESVJ9Ii9OVklESUFfZ2x4LWdsaGVhZGVyLnBhdGNoCgoJaWYgISB1c2UgeDg2LWZic2Qg
OyB0aGVuCgkJIyBRdWlldCBkb3duIHdhcm5pbmdzIHRoZSB1c2VyIGRvZXMgbm90IG5lZWQgdG8g
c2VlCgkJc2VkIC1pIFwKCQkJLWUgJ3M6LVdwb2ludGVyLWFyaXRoOjpnJyBcCgkJCS1lICdzOi1X
c2lnbi1jb21wYXJlOjpnJyBcCgkJCSIke1N9Ii9NYWtlZmlsZS5rYnVpbGQKCgkJIyBJZiB5b3Ug
c2V0IHRoaXMgdGhlbiBpdCdzIHlvdXIgb3duIGZhdWx0IHdoZW4gc3R1ZmYgYnJlYWtzIDopCgkJ
W1sgLW4gJHtVU0VfQ1JBWllfT1BUU30gXV0gJiYgc2VkIC1pICJzOi1POiR7Q0ZMQUdTfToiIE1h
a2VmaWxlLioKCgkJIyBJZiBncmVhdGVyIHRoYW4gMi42LjUgdXNlIE09IGluc3RlYWQgb2YgU1VC
RElSPQoJCWNkICIke1N9IgoJCWNvbnZlcnRfdG9fbSBNYWtlZmlsZS5rYnVpbGQKCWZpCgoJaWYg
dXNlIGd0ayA7IHRoZW4KCQljZCAiJHtXT1JLRElSfSIKCQl1bnBhY2sgIm52aWRpYS1zZXR0aW5n
cy0ke1NFVFRJTkdTX1Z9LnRhci5neiIKCQljZCAiJHtTRVRUSU5HU19ESVJ9IiB8fCBkaWUKCQlz
ZWQgLWkub3JpZyBcCgkJCS1lICdzLERvTm9ybWFsTGliIE5vcm1hbExpYlhyYW5kcixEb05vcm1h
bExpYiBZRVMsZycgXAoJCQlzcmMvbGliWE5WQ3RybC9JbWFrZWZpbGUgfHwgZGllICJzZWQgSW1h
a2VmaWxlIgoJZmkKfQoKc3JjX2NvbXBpbGUoKSB7CgkjIFRoaXMgaXMgYWxyZWFkeSB0aGUgZGVm
YXVsdCBvbiBMaW51eCwgYXMgdGhlcmUncyBubyB0b3BsZXZlbCBNYWtlZmlsZSwgYnV0CgkjIG9u
IEZyZWVCU0QgdGhlcmUncyBvbmUgYW5kIHRyaWdnZXJzIHRoZSBrZXJuZWwgbW9kdWxlIGJ1aWxk
LCBhcyB3ZSBpbnN0YWxsCgkjIGl0IGJ5IGl0c2VsZiwgcGFzcyB0aGlzLgoJaWYgdXNlIHg4Ni1m
YnNkIDsgdGhlbgoJCWNkICIke1dPUktESVJ9LyR7TlZfUEFDS0FHRX0ke1BLR19WfS9zcmMiCgkJ
ZWNobyBMREZMQUdTPSIkKHJhdy1sZGZsYWdzKSIKCQlNQUtFPSIkKGdldF9ibWFrZSkiIGVtYWtl
IENDPSIkKHRjLWdldENDKSIgTEQ9IiQodGMtZ2V0TEQpIiBMREZMQUdTPSIkKHJhdy1sZGZsYWdz
KSIgfHwgZGllCgllbHNlCgkJbGludXgtbW9kX3NyY19jb21waWxlCglmaQoKCWlmIHVzZSBndGsg
OyB0aGVuCgkJIyBudmlkaWEtc2V0dGluZ3MKCQllaW5mbyAiQnVpbGRpbmcgbGliWE5WQ3RybC4u
LiIKCQljZCAiJHtTRVRUSU5HU19ESVJ9L3NyYy9saWJYTlZDdHJsIgoJCXhta21mIC1hIHx8IGRp
ZSAiUnVubmluZyB4bWttZiBmYWlsZWQiCgkJbWFrZSBjbGVhbiB8fCBkaWUgIkNsZWFuaW5nIG9s
ZCBsaWJYTlZDdHJsIGZhaWxlZCIKCQllbWFrZSBDREVCVUdGTEFHUz0iJHtDRkxBR1N9IiBDQz0i
JCh0Yy1nZXRDQykiIHx8IGRpZSAiZW1ha2UgbGliWE5WQ3RybCIKCgkJY2QgIiR7U0VUVElOR1Nf
RElSfSIKCQllaW5mbyAiQnVpbGRpbmcgblZpZGlhLVNldHRpbmdzLi4uIgoJCWVtYWtlIENDPSIk
KHRjLWdldENDKSIgfHwgZGllICJlbWFrZSBzZXR0aW5ncyIKCWZpCn0KCnNyY19pbnN0YWxsKCkg
ewoJbG9jYWwgTUxURVNUPSQodHlwZSBkeW5fdW5wYWNrKQoKCWNkICIke1dPUktESVJ9LyR7TlZf
UEFDS0FHRX0ke1BLR19WfSIKCglpZiAhIHVzZSB4ODYtZmJzZCA7IHRoZW4KCQlsaW51eC1tb2Rf
c3JjX2luc3RhbGwKCgkJIyBBZGQgdGhlIGFsaWFzZXMKCQlbWyAtZiAiJHtGSUxFU0RJUn0iL252
aWRpYSBdXSB8fCBkaWUgIm52aWRpYSBtaXNzaW5nIGluIEZJTEVTRElSIgoJCXNlZCAtZSAnczpc
JHtQQUNLQUdFfTonJHtQRn0nOmcnICIke0ZJTEVTRElSfSIvbnZpZGlhID4gIiR7V09SS0RJUn0i
L252aWRpYQoJCWluc2ludG8gL2V0Yy9tb2R1bGVzLmQKCQluZXdpbnMgIiR7V09SS0RJUn0iL252
aWRpYSBudmlkaWEgfHwgZGllCgllbHNlCgkJaW5zaW50byAvYm9vdC9tb2R1bGVzCgkJZG9pbnMg
IiR7V09SS0RJUn0vJHtYODZfRkJTRF9OVl9QQUNLQUdFfS9zcmMvbnZpZGlhLmtsZCIgfHwgZGll
CgoJCWV4ZWludG8gL2Jvb3QvbW9kdWxlcwoJCWRvZXhlICIke1dPUktESVJ9LyR7WDg2X0ZCU0Rf
TlZfUEFDS0FHRX0vc3JjL252aWRpYS5rbyIgfHwgZGllCglmaQoKCWlmIFtbICIke01MVEVTVC9z
ZXRfYWJpfSIgPT0gIiR7TUxURVNUfSIgXV0gJiYgaGFzX211bHRpbGliX3Byb2ZpbGUgOyB0aGVu
CgkJbG9jYWwgT0FCST0ke0FCSX0KCQlmb3IgQUJJIGluICQoZ2V0X2luc3RhbGxfYWJpcykgOyBk
bwoJCQlzcmNfaW5zdGFsbC1saWJzCgkJZG9uZQoJCUFCST0ke09BQkl9CgkJdW5zZXQgT0FCSQoJ
ZWxpZiB1c2UgYW1kNjQgOyB0aGVuCgkJc3JjX2luc3RhbGwtbGlicyBsaWIzMiAiJChnZXRfbXVs
dGlsaWJkaXIpIgoJCXNyY19pbnN0YWxsLWxpYnMgbGliICIkKGdldF9saWJkaXIpIgoKCQlybSAt
cmYgIiR7RH0vdXNyLyQoZ2V0X211bHRpbGliZGlyKSIvb3BlbmdsL252aWRpYS9pbmNsdWRlCgkJ
cm0gLXJmICIke0R9L3Vzci8kKGdldF9tdWx0aWxpYmRpcikiL29wZW5nbC9udmlkaWEvZXh0ZW5z
aW9ucwoJZWxzZQoJCXNyY19pbnN0YWxsLWxpYnMKCWZpCgoJaXNfZmluYWxfYWJpIHx8IHJldHVy
biAwCgoJaWYgISB1c2UgeDg2LWZic2QgOyB0aGVuCgkJIyBEb2NzCgkJbmV3ZG9jIHVzci9zaGFy
ZS9kb2MvUkVBRE1FLnR4dCBSRUFETUUKCQlkb2RvYyB1c3Ivc2hhcmUvZG9jL0NvcHlyaWdodHMg
dXNyL3NoYXJlL2RvYy9OVklESUFfQ2hhbmdlbG9nCgkJZG9kb2MgdXNyL3NoYXJlL2RvYy9YRjg2
Q29uZmlnLnNhbXBsZQoJCWRvaHRtbCB1c3Ivc2hhcmUvZG9jL2h0bWwvKgoKCQkjIG5WaWRpYSB3
YW50IGJ1ZyByZXBvcnRzIHVzaW5nIHRoaXMgc2NyaXB0CgkJZG9iaW4gdXNyL2Jpbi9udmlkaWEt
YnVnLXJlcG9ydC5zaCB8fCBkaWUKCWVsc2UKCQlkb2RvYyBkb2Mve1JFQURNRSxYRjg2Q29uZmln
LnNhbXBsZSxDb3B5cmlnaHRzfQoJCWRvaHRtbCBkb2MvaHRtbC8qCglmaQoKCWRvYmluIHVzci9i
aW4vbnZpZGlhLXhjb25maWcgfHwgZGllCgoJaWYgdXNlIGd0ayA7IHRoZW4KCQkjIFRha2luZyBu
dmlkaWEtc2V0dGluZ3MgZnJvbSBudmlkaWEtZHJpdmVycyAtIG1vcmUgdXAtdG8tZGF0ZQoJCWRv
YmluIHVzci9iaW4vbnZpZGlhLXNldHRpbmdzIHx8IGRpZQoKCQljZCAiJHtTRVRUSU5HU19ESVJ9
IgoJCWluc2ludG8gIi91c3IvJChnZXRfbGliZGlyKSIKCQlkb2lucyBzcmMvbGliWE5WQ3RybC9s
aWJYTlZDdHJsLmEgfHwgZGllCgkJaW5zaW50byAvdXNyL2luY2x1ZGUvTlZDdHJsCgkJZG9pbnMg
c3JjL2xpYlhOVkN0cmwve05WQ3RybCxOVkN0cmxMaWJ9LmggfHwgZGllCgoJCSMgSW5zdGFsbCBp
Y29uIGFuZCAuZGVza3RvcCBlbnRyeQoJCWRvaWNvbiAiJHtGSUxFU0RJUn0vbnZpZGlhLXNldHRp
bmdzLnBuZyIgfHwgZGllICJkb2ljb24iCgkJZG9tZW51ICIke0ZJTEVTRElSfS9udmlkaWEtc2V0
dGluZ3MuZGVza3RvcCIgfHwgZGllICJkb21lbnUiCgoJCWRvbWFuIGRvYy9udmlkaWEtc2V0dGlu
Z3MuMSB8fCBkaWUKCQlkb2RvYyBkb2MvKi50eHQKCWZpCn0KCiMgSW5zdGFsbCBudmlkaWEgbGli
cmFyeToKIyB0aGUgZmlyc3QgcGFyYW1ldGVyIGlzIHRoZSBwbGFjZSB3aGVyZSB0byBpbnN0YWxs
IGl0CiMgdGhlIHNlY29uZCBwYXJhbWV0ZXIgaXMgdGhlIGJhc2UgbmFtZSBvZiB0aGUgbGlicmFy
eQojIHRoZSB0aGlyZCBwYXJhbWV0ZXIgaXMgdGhlIHByb3ZpZGVkIHNvdmVyc2lvbgpkb252aWRp
YSgpIHsKCWRvZGlyICQxCglleGVpbnRvICQxCgoJbGlibmFtZT0kKGJhc2VuYW1lICQyKQoKCWRv
ZXhlICQyLiQzCglkb3N5bSAiJHtsaWJuYW1lfS4kezN9IiAiJHsxfS8ke2xpYm5hbWV9IgoKCVtb
ICR7M30gIT0gIjEiIF1dICYmIGRvc3ltICIke2xpYm5hbWV9LiR7M30iICIkezF9LyR7bGlibmFt
ZX0uMSIKfQoKc3JjX2luc3RhbGwtbGlicygpIHsKCWxvY2FsIHBrZ2xpYmRpcj1saWIKCWxvY2Fs
IGluc2xpYmRpcj0kKGdldF9saWJkaXIpCgoJaWYgW1sgJHsjfSAtZXEgMiBdXSA7IHRoZW4KCQlw
a2dsaWJkaXI9JHsxfQoJCWluc2xpYmRpcj0kezJ9CgllbGlmIGhhc19tdWx0aWxpYl9wcm9maWxl
ICYmIFtbICR7QUJJfSA9PSAieDg2IiBdXSA7IHRoZW4KCQlwa2dsaWJkaXI9bGliMzIKCWZpCgoJ
bG9jYWwgdXNycGtnbGliZGlyPXVzci8ke3BrZ2xpYmRpcn0KCWxvY2FsIGxpYmRpcj11c3IvWDEx
UjYvJHtwa2dsaWJkaXJ9Cglsb2NhbCBtb2R1bGVzPSR7bGliZGlyfS9tb2R1bGVzCglsb2NhbCBk
cnZkaXI9JHttb2R1bGVzfS9kcml2ZXJzCglsb2NhbCBleHRkaXI9JHttb2R1bGVzfS9leHRlbnNp
b25zCglsb2NhbCBpbmNkaXI9dXNyL2luY2x1ZGUvR0wKCWxvY2FsIHNvdmVyPSR7UFZ9Cglsb2Nh
bCBOVl9ST09UPSIvdXNyLyR7aW5zbGliZGlyfS9vcGVuZ2wvbnZpZGlhIgoJbG9jYWwgTk9fVExT
X1JPT1Q9IiR7TlZfUk9PVH0vbm8tdGxzIgoJbG9jYWwgVExTX1JPT1Q9IiR7TlZfUk9PVH0vdGxz
IgoJbG9jYWwgWDExX0xJQl9ESVI9Ii91c3IvJHtpbnNsaWJkaXJ9L3hvcmciCgoJaWYgISBoYXNf
dmVyc2lvbiB4MTEtYmFzZS94b3JnLXNlcnZlciA7IHRoZW4KCQlYMTFfTElCX0RJUj0iL3Vzci8k
e2luc2xpYmRpcn0iCglmaQoKCWlmIHVzZSB4ODYtZmJzZCA7IHRoZW4KCQkjIG9uIEZyZWVCU0Qg
ZXZlcnl0aGluZyBpcyBvbiBvYmovCgkJcGtnbGliZGlyPW9iagoJCXVzcnBrZ2xpYmRpcj1vYmoK
CQl4MTFwa2dsaWJkaXI9b2JqCgkJZHJ2ZGlyPW9iagoJCWV4dGRpcj1vYmoKCgkJIyBkb24ndCBh
c2sgbWUgd2h5IHRoZSBoZWFkZXJzIGFyZSB0aGVyZS4uIGdseGV4dC5oIGlzIG1pc3NpbmcKCQlp
bmNkaXI9ZG9jCgoJCSMgb24gRnJlZUJTRCBpdCBoYXMganVzdCAuMSBzdWZmaXgKCQlzb3Zlcj0x
CglmaQoKCSMgVGhlIEdMWCBsaWJyYXJpZXMKCWRvbnZpZGlhICIke05WX1JPT1R9Ii9saWIgIiR7
dXNycGtnbGliZGlyfSIvbGliR0wuc28gIiR7c292ZXJ9IgoJZG9udmlkaWEgIiR7TlZfUk9PVH0i
L2xpYiAiJHt1c3Jwa2dsaWJkaXJ9Ii9saWJHTGNvcmUuc28gIiR7c292ZXJ9IgoKCWRvbnZpZGlh
ICIke05WX1JPT1R9Ii9saWIgIiR7dXNycGtnbGliZGlyfSIvbGlibnZpZGlhLWNmZy5zbyAiJHtz
b3Zlcn0iCgoJZG9kaXIgIiR7Tk9fVExTX1JPT1R9IgoJZG9udmlkaWEgIiR7Tk9fVExTX1JPT1R9
IiAiJHt1c3Jwa2dsaWJkaXJ9Ii9saWJudmlkaWEtdGxzLnNvICIke3NvdmVyfSIKCglpZiAhIHVz
ZSB4ODYtZmJzZCA7IHRoZW4KCQlkb252aWRpYSAiJHtUTFNfUk9PVH0iICIke3VzcnBrZ2xpYmRp
cn0iL3Rscy9saWJudmlkaWEtdGxzLnNvICIke3NvdmVyfSIKCWZpCgoJaWYgd2FudF90bHMgOyB0
aGVuCgkJZG9zeW0gLi4vdGxzL2xpYm52aWRpYS10bHMuc28gIiR7TlZfUk9PVH0iL2xpYgoJCWRv
c3ltIC4uL3Rscy9saWJudmlkaWEtdGxzLnNvLjEgIiR7TlZfUk9PVH0iL2xpYgoJCWRvc3ltICIu
Li90bHMvbGlibnZpZGlhLXRscy5zby4ke3NvdmVyfSIgIiR7TlZfUk9PVH0iL2xpYgoJZWxzZQoJ
CWRvc3ltIC4uL25vLXRscy9saWJudmlkaWEtdGxzLnNvICIke05WX1JPT1R9Ii9saWIKCQlkb3N5
bSAuLi9uby10bHMvbGlibnZpZGlhLXRscy5zby4xICIke05WX1JPT1R9Ii9saWIKCQlkb3N5bSAi
Li4vbm8tdGxzL2xpYm52aWRpYS10bHMuc28uJHtzb3Zlcn0iICIke05WX1JPT1R9Ii9saWIKCWZp
CgoJaWYgISB1c2UgeDg2LWZic2QgOyB0aGVuCgkJIyBJbnN0YWxsIHRoZSAubGEgZmlsZSBmb3Ig
bGlidG9vbCwgdG8gcHJldmVudCBlLmcuIGJ1ZyAjMTc2NDIzCgkJW1sgLWYgIiR7RklMRVNESVJ9
Ii9saWJHTC5sYS1yMiBdXSBcCgkJCXx8IGRpZSAibGliR0wubGEtcjIgbWlzc2luZyBpbiBGSUxF
U0RJUiIKCQlsb2NhbCB2ZXIxPSQoZ2V0X3ZlcnNpb25fY29tcG9uZW50X3JhbmdlIDEpCgkJbG9j
YWwgdmVyMj0kKGdldF92ZXJzaW9uX2NvbXBvbmVudF9yYW5nZSAyKQoJCWxvY2FsIHZlcjM9JChn
ZXRfdmVyc2lvbl9jb21wb25lbnRfcmFuZ2UgMykKCQlzZWQgLWUgInM6XCR7UFZ9OiR7UFZ9OiIg
ICAgIFwKCQkJLWUgInM6XCR7dmVyMX06JHt2ZXIxfToiIFwKCQkJLWUgInM6XCR7dmVyMn06JHt2
ZXIyfToiIFwKCQkJLWUgInM6XCR7dmVyM306JHt2ZXIzfToiIFwKCQkJLWUgInM6XCR7bGliZGly
fToke2luc2xpYmRpcn06IiBcCgkJCSIke0ZJTEVTRElSfSIvbGliR0wubGEtcjIgPiAiJHtEfS8k
e05WX1JPT1R9Ii9saWIvbGliR0wubGEKCWZpCgoJZXhlaW50byAiJHtYMTFfTElCX0RJUn0iL21v
ZHVsZXMvZHJpdmVycwoKCVtbIC1mICR7ZHJ2ZGlyfS9udmlkaWFfZHJ2LnNvIF1dICYmIFwKCQlk
b2V4ZSAiJHtkcnZkaXJ9Ii9udmlkaWFfZHJ2LnNvCgoJaW5zaW50byAiL3Vzci8ke2luc2xpYmRp
cn0iCglbWyAtZiAke2xpYmRpcn0vbGliWHZNQ05WSURJQS5hIF1dICYmIFwKCQlkb2lucyAiJHts
aWJkaXJ9Ii9saWJYdk1DTlZJRElBLmEKCWV4ZWludG8gIi91c3IvJHtpbnNsaWJkaXJ9IgoJIyBm
aXggQnVnIDEzMTMxNQoJW1sgLWYgJHtsaWJkaXJ9L2xpYlh2TUNOVklESUEuc28uJHtQVn0gXV0g
JiYgXAoJCWRvZXhlICIke2xpYmRpcn0vbGliWHZNQ05WSURJQS5zby4ke1BWfSIgJiYgXAoJCWRv
c3ltICJsaWJYdk1DTlZJRElBLnNvLiR7UFZ9IiBcCgkJCSIvdXNyLyR7aW5zbGliZGlyfSIvbGli
WHZNQ05WSURJQS5zbwoKCWV4ZWludG8gIiR7TlZfUk9PVH0iL2V4dGVuc2lvbnMKCVtbIC1mICR7
bW9kdWxlc30vbGlibnZpZGlhLXdmYi5zby4ke3NvdmVyfSBdXSAmJiBcCgkJbmV3ZXhlICIke21v
ZHVsZXN9L2xpYm52aWRpYS13ZmIuc28uJHtzb3Zlcn0iIGxpYndmYi5zbwoJW1sgLWYgJHtleHRk
aXJ9L2xpYmdseC5zby4ke3NvdmVyfSBdXSAmJiBcCgkJbmV3ZXhlICIke2V4dGRpcn0vbGliZ2x4
LnNvLiR7c292ZXJ9IiBsaWJnbHguc28KCgkjIEluY2x1ZGVzCglpbnNpbnRvICIke05WX1JPT1R9
Ii9pbmNsdWRlCglkb2lucyAiJHtpbmNkaXJ9Ii8qLmgKfQoKcGtnX3ByZWluc3QoKSB7CgkjIENh
biB3ZSBtYWtlIHVwIG91ciBtaW5kcyA/IT8hPwoJbG9jYWwgTlZfRD0ke0R9IGRpcgoKCWlmICEg
aGFzX3ZlcnNpb24geDExLWJhc2UveG9yZy1zZXJ2ZXIgOyB0aGVuCgkJZm9yIGRpciBpbiBsaWIg
bGliMzIgbGliNjQgOyBkbwoJCQlpZiBbWyAtZCAke05WX0R9L3Vzci8ke2Rpcn0veG9yZyBdXSA7
IHRoZW4KCQkJCW12ICIke05WX0R9L3Vzci8ke2Rpcn0iL3hvcmcvKiAiJHtOVl9EfS91c3IvJHtk
aXJ9IgoJCQkJcm1kaXIgIiR7TlZfRH0vdXNyLyR7ZGlyfSIveG9yZwoJCQlmaQoJCWRvbmUKCWZp
CgoJIyBDbGVhbiB0aGUgZHluYW1pYyBsaWJHTCBzdHVmZidzIGhvbWUgdG8gZW5zdXJlCgkjIHdl
IGRvbnQgaGF2ZSBzdGFsZSBsaWJzIGZsb2F0aW5nIGFyb3VuZAoJaWYgW1sgLWQgJHtST09UfS91
c3IvbGliL29wZW5nbC9udmlkaWEgXV0gOyB0aGVuCgkJcm0gLXJmICIke1JPT1R9Ii91c3IvbGli
L29wZW5nbC9udmlkaWEvKgoJZmkKCSMgTWFrZSBzdXJlIHdlIG51a2UgdGhlIG9sZCBudmlkaWEt
Z2x4J3MgZW52LmQgZmlsZQoJaWYgW1sgLWUgJHtST09UfS9ldGMvZW52LmQvMDludmlkaWEgXV0g
OyB0aGVuCgkJcm0gLWYgIiR7Uk9PVH0iL2V0Yy9lbnYuZC8wOW52aWRpYQoJZmkKfQoKcGtnX3Bv
c3RpbnN0KCkgewoJaWYgISB1c2UgeDg2LWZic2QgOyB0aGVuCgkJbGludXgtbW9kX3BrZ19wb3N0
aW5zdAoJZmkKCglpZiAhIHVzZSBndGsgOyB0aGVuCgkJZWxvZyAnQWRkIHRoZSAiZ3RrIiBVU0Ug
ZmxhZyBpZiBudmlkaWEtc2V0dGluZ3MgaXMgZGVzaXJlZC4nCglmaQoKCSMgU3dpdGNoIHRvIHRo
ZSBudmlkaWEgaW1wbGVtZW50YXRpb24KCWVzZWxlY3Qgb3BlbmdsIHNldCAtLXVzZS1vbGQgbnZp
ZGlhCn0KCndhbnRfdGxzKCkgewoJIyBGb3IgdWNsaWJjIG9yIGFueXRoaW5nIG5vbiBnbGliYywg
cmV0dXJuIGZhbHNlCgloYXNfdmVyc2lvbiBzeXMtbGlicy9nbGliYyB8fCByZXR1cm4gMQoKCSMg
T2xkIHZlcnNpb25zIG9mIGdsaWJjIHdlcmUgbHQvbm8tdGxzIG9ubHkKCWhhc192ZXJzaW9uICc8
c3lzLWxpYnMvZ2xpYmMtMi4zLjInICYmIHJldHVybiAxCgoJbG9jYWwgdmFsaWRfY2hvc3Q9InRy
dWUiCglpZiB1c2UgeDg2IDsgdGhlbgoJCWNhc2UgJHtDSE9TVC8tKn0gaW4KCQkJaTQ4NnxpNTg2
fGk2ODYpIDs7CgkJCSopIHZhbGlkX2Nob3N0PSJmYWxzZSIKCQllc2FjCglmaQoKCVtbICR7dmFs
aWRfY2hvc3R9ID09ICJmYWxzZSIgXV0gJiYgcmV0dXJuIDEKCgkjIElmIHdlJ3ZlIGdvdCBucHRs
LCB3ZSd2ZSBnb3QgdGxzCglidWlsdF93aXRoX3VzZSBzeXMtbGlicy9nbGliYyBucHRsICYmIHJl
dHVybiAwCgoJIyAyLjMuNSB0dXJuZWQgb2ZmIHRscyBmb3IgbGludXh0aHJlYWRzIGdsaWJjIG9u
IGk0ODYgYW5kIGk1ODYKCWlmIHVzZSB4ODYgJiYgaGFzX3ZlcnNpb24gJz49c3lzLWxpYnMvZ2xp
YmMtMi4zLjUnIDsgdGhlbgoJCWNhc2UgJHtDSE9TVC8tKn0gaW4KCQkJaTQ4NnxpNTg2KSByZXR1
cm4gMSA7OwoJCWVzYWMKCWZpCgoJIyBUaGVzZSB2ZXJzaW9ucyBidWlsdCBsaW51eHRocmVhZHMg
dmVyc2lvbiB0byBzdXBwb3J0IHRscywgdG9vCgloYXNfdmVyc2lvbiAnPj1zeXMtbGlicy9nbGli
Yy0yLjMuNC4yMDA0MDYxOS1yMicgJiYgcmV0dXJuIDAKCglyZXR1cm4gMQp9Cgpwa2dfcG9zdHJt
KCkgewoJaWYgISB1c2UgeDg2LWZic2QgOyB0aGVuCgkJbGludXgtbW9kX3BrZ19wb3N0cm0KCWZp
Cgllc2VsZWN0IG9wZW5nbCBzZXQgLS11c2Utb2xkIHhvcmcteDExCn0K
</data>        

          </attachment>
    </bug>

</bugzilla>