<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>187485</bug_id>
          
          <creation_ts>2018-07-09 14:49:35 -0700</creation_ts>
          <short_desc>JavaScriptCore doesn&apos;t work with musl-libc</short_desc>
          <delta_ts>2021-05-25 15:29:19 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>Other</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>210068</dup_id>
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=210068</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>208223</dependson>
    
    <dependson>210068</dependson>
    
    <dependson>225099</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Bernd">beb5pft5lz</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>clopez</cc>
    
    <cc>contact+bugs.webkit.org</cc>
    
    <cc>h4yfx4vuvg</cc>
    
    <cc>mark.lam</cc>
    
    <cc>pwr</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1440563</commentid>
    <comment_count>0</comment_count>
    <who name="Bernd">beb5pft5lz</who>
    <bug_when>2018-07-09 14:49:35 -0700</bug_when>
    <thetext>Hello there,

I wanted to run luakit (a javascript based webbrowser) on Alpine Linux (uses musl libc) and noticed that it wasn&apos;t able to evaluate any javascript. After some research I found the following issue in the luakit bugtracker:

* https://github.com/luakit/luakit/issues/550

According to this GitHub issue in the luakit bug tracker this isn&apos;t a problem with luakit but instead a problem with webkit itself (or more specific JavaScriptCore). I did some further research and found additional entries in bug trackers of musl-based linux distributions also claiming that this is a bug in webkit:

* https://github.com/voidlinux/void-packages/issues/5360
* https://bugs.alpinelinux.org/issues/8492

Most of these bug reports claim that this might be related to the default stack size for new threads in musl. Which is a lot smaller than the default stack size in glibc (see: https://wiki.musl-libc.org/functional-differences-from-glibc.html#Thread-stack-size)

To make sure that this is really a bug in webkit I came up with a little C example evaluating a simple javascript expression using JavaScriptCore. This C program is attached it is mostly based on a code snippet from `Source/JavaScriptCore/API/tests/testapi` (thus I assume that it should work).

I compiled the attached code snippet with `gcc -o test test.c $(pkg-config --cflags webkit2gtk-4.0) $(pkg-config --libs webkit2gtk-4.0)` on Alpine Linux Edge (x86_64) using webkit 2.20.3. Invoking the resulting binary produces the following output: `test: JSEvaluateScript failed`.

I also invoked the binary with valgrind (the output can be found here https://paste42.de/13254/) which makes me believe that this is really an issue regarding the thread stack size since various attempts are made to access memory below the stack pointer. Besides the test program segfaults when started with valgrind which is also strange.

I (and the people who created the bugs linked above) would be very happy if this could be investigated further and (hopefully) be fixed soon. I would also suggest that you run your test suite on a musl-based system as well to prevent these kind of issues in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440564</commentid>
    <comment_count>1</comment_count>
      <attachid>344619</attachid>
    <who name="Bernd">beb5pft5lz</who>
    <bug_when>2018-07-09 14:50:29 -0700</bug_when>
    <thetext>Created attachment 344619
Minimal test program to reproduce the issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440565</commentid>
    <comment_count>2</comment_count>
      <attachid>344620</attachid>
    <who name="Bernd">beb5pft5lz</who>
    <bug_when>2018-07-09 14:51:13 -0700</bug_when>
    <thetext>Created attachment 344620
Valgrind output for the test program</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1440989</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-07-10 15:15:46 -0700</bug_when>
    <thetext>Yeah, this is because musl&apos;s stack size is very small[1].
So, all the stack overflow checks fail since soft stack limit is smaller than the current stack pointer.

We can make JSC work by changing MinimumReservedZoneSize.h from `static const unsigned minimumReservedZoneSize = 16 * KB;` to `static const unsigned minimumReservedZoneSize = 4 * KB;` or smaller value (At least in my Linux box using glibc, with `ulimit -s 80`).
But it seems dangerous to me. Personally, I think increasing the default stack size of musl is the right way to fix.
When setting `ulimit -s 100` in my Linux box (using glibc), even gdb fails to start.

The difficult thing is that we cannot deploy this tweak for musl, since musl does not provide any macro / definition to detect musl intentionally[1], while musl&apos;s behavior is different from glibc (actually stack size is small) :(.

Mark, what do you think of?

[1]: https://wiki.musl-libc.org/functional-differences-from-glibc.html#Thread-stack-size
[2]: https://wiki.musl-libc.org/faq.html#Q:-Why-is-there-no-%3Ccode%3E__MUSL__%3C/code%3E-macro?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1491134</commentid>
    <comment_count>4</comment_count>
    <who name="">h4yfx4vuvg</who>
    <bug_when>2019-01-02 03:48:23 -0800</bug_when>
    <thetext>Unfourtunatly, simply increasing the stack size is not enough. The following patch is currently used by Alpine Linux and Void Linux for their webkit2gtk package: https://git.alpinelinux.org/cgit/aports/tree/community/webkit2gtk/musl-fixes.patch?id=609fbb0235cf6440f5d502885c4e0531c835aed7</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1619417</commentid>
    <comment_count>5</comment_count>
    <who name="Haelwenn (lanodan) Monnier">contact+bugs.webkit.org</who>
    <bug_when>2020-02-15 07:40:49 -0800</bug_when>
    <thetext>One way which seems less hacky/faulty than the alpine patch there would be to use pthread_attr_setstacksize like musl suggests (and no #ifdef should be required as it is POSIX) and/or &quot;increasing the default stack size via the PT_GNU_STACK program header, which can be set at link time via -Wl,-z,stack-size=N&quot;.

I don&apos;t have much compiling power on my musl machine now (~2012 laptop with intel vulns, will replace it) but I&apos;ll try the latter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1623155</commentid>
    <comment_count>6</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2020-02-26 13:40:10 -0800</bug_when>
    <thetext>(In reply to Haelwenn (lanodan) Monnier from comment #5)
&gt; One way which seems less hacky/faulty than the alpine patch there would be
&gt; to use pthread_attr_setstacksize like musl suggests (and no #ifdef should be
&gt; required as it is POSIX) and/or &quot;increasing the default stack size via the
&gt; PT_GNU_STACK program header, which can be set at link time via
&gt; -Wl,-z,stack-size=N&quot;.
&gt; 
&gt; I don&apos;t have much compiling power on my musl machine now (~2012 laptop with
&gt; intel vulns, will replace it) but I&apos;ll try the latter.

The patch in bug #208223 adds configuring stack sizes, so once that
lands maybe the only leftover thing to do in this regard is to detect
if Musl is being used (tricky, maybe it&apos;s better to check for “not
glibc”) and set some sane value for DEFAULT_THREAD_STACK_SIZE_IN_KB.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1696785</commentid>
    <comment_count>7</comment_count>
    <who name="Paul W. Rankin">pwr</who>
    <bug_when>2020-10-11 20:57:08 -0700</bug_when>
    <thetext>Thank you guys for looking into this :)

I&apos;d very much like to use a WebKit browser on a musl system (Alpine Linux).

(In reply to Adrian Perez from comment #6)
&gt; The patch in bug #208223 adds configuring stack sizes, so once that
&gt; lands maybe the only leftover thing to do in this regard is to detect
&gt; if Musl is being used (tricky, maybe it&apos;s better to check for “not
&gt; glibc”) and set some sane value for DEFAULT_THREAD_STACK_SIZE_IN_KB.

Now that bug 208223 is resolved, is detecting mucl the only thing left to do?

For what my razor-thin understanding is worth, musl is a strict C library compared to the GNU C library with its own additions? If this is the case, could the condition case not be reversed, i.e. if GNU C additions are available, target those, otherwise, target strict C?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763704</commentid>
    <comment_count>8</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2021-05-25 15:28:09 -0700</bug_when>
    <thetext>JSC is working fine after the patch for bug #210068 landed,
so let&apos;s close this :)

*** This bug has been marked as a duplicate of bug 210068 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>344619</attachid>
            <date>2018-07-09 14:50:29 -0700</date>
            <delta_ts>2018-07-09 14:50:29 -0700</delta_ts>
            <desc>Minimal test program to reproduce the issue</desc>
            <filename>test.c</filename>
            <type>text/plain</type>
            <size>489</size>
            <attacher name="Bernd">beb5pft5lz</attacher>
            
              <data encoding="base64">I2luY2x1ZGUgPGVyci5oPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Lmg+CgpzdGF0aWMgSlNHbG9iYWxDb250ZXh0UmVmIGNvbnRleHQ7Cgpp
bnQKbWFpbih2b2lkKQp7CglKU1N0cmluZ1JlZiBzY3JpcHQ7CglKU1ZhbHVlUmVmIHJlc3VsdCwg
ZXhjZXB0aW9uID0gTlVMTDsKCgljb250ZXh0ID0gSlNHbG9iYWxDb250ZXh0Q3JlYXRlSW5Hcm91
cChOVUxMLCBOVUxMKTsKCglzY3JpcHQgPSBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygi
WyBdIik7CglyZXN1bHQgPSBKU0V2YWx1YXRlU2NyaXB0KGNvbnRleHQsIHNjcmlwdCwgTlVMTCwg
TlVMTCwgMCwgJmV4Y2VwdGlvbik7CglKU1N0cmluZ1JlbGVhc2Uoc2NyaXB0KTsKCglpZiAoZXhj
ZXB0aW9uICE9IE5VTEwpCgkJZXJyeChFWElUX0ZBSUxVUkUsICJKU0V2YWx1YXRlU2NyaXB0IGZh
aWxlZCIpOwoKCXJldHVybiBFWElUX1NVQ0NFU1M7Cn0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>344620</attachid>
            <date>2018-07-09 14:51:13 -0700</date>
            <delta_ts>2018-07-09 14:51:13 -0700</delta_ts>
            <desc>Valgrind output for the test program</desc>
            <filename>valgrind-log</filename>
            <type>text/plain</type>
            <size>13517</size>
            <attacher name="Bernd">beb5pft5lz</attacher>
            
              <data encoding="base64">PT00NjUyPT0gTWVtY2hlY2ssIGEgbWVtb3J5IGVycm9yIGRldGVjdG9yCj09NDY1Mj09IENvcHly
aWdodCAoQykgMjAwMi0yMDE3LCBhbmQgR05VIEdQTCdkLCBieSBKdWxpYW4gU2V3YXJkIGV0IGFs
Lgo9PTQ2NTI9PSBVc2luZyBWYWxncmluZC0zLjEzLjAgYW5kIExpYlZFWDsgcmVydW4gd2l0aCAt
aCBmb3IgY29weXJpZ2h0IGluZm8KPT00NjUyPT0gQ29tbWFuZDogLi90ZXN0Cj09NDY1Mj09IAo9
PTQ2NTI9PSBJbnZhbGlkIGZyZWUoKSAvIGRlbGV0ZSAvIGRlbGV0ZVtdIC8gcmVhbGxvYygpCj09
NDY1Mj09ICAgIGF0IDB4NEM5OEEyQTogZnJlZSAodmdfcmVwbGFjZV9tYWxsb2MuYzo1MzApCj09
NDY1Mj09ICAgIGJ5IDB4NDA1ODdFNTogcmVjbGFpbV9nYXBzIChkeW5saW5rLmM6NTA4KQo9PTQ2
NTI9PSAgICBieSAweDQwNTk4QzE6IGxvYWRfbGlicmFyeSAoZHlubGluay5jOjEwNjEpCj09NDY1
Mj09ICAgIGJ5IDB4NDA1QTVENzogbG9hZF9wcmVsb2FkIChkeW5saW5rLmM6MTE1NikKPT00NjUy
PT0gICAgYnkgMHg0MDVBNUQ3OiBfX2RsczMgKGR5bmxpbmsuYzoxNjIwKQo9PTQ2NTI9PSAgICBi
eSAweDQwNTlGNTY6IF9fZGxzMiAoZHlubGluay5jOjE0NDEpCj09NDY1Mj09ICAgIGJ5IDB4NDA1
N0Q5RDogPz8/IChpbiAvbGliL2xkLW11c2wteDg2XzY0LnNvLjEpCj09NDY1Mj09ICBBZGRyZXNz
IDB4NGVhMDE4MCBpcyBpbiBhIHJ3LSBtYXBwZWQgZmlsZSAvdXNyL2xpYi92YWxncmluZC92Z3By
ZWxvYWRfbWVtY2hlY2stYW1kNjQtbGludXguc28gc2VnbWVudAo9PTQ2NTI9PSAKPT00NjUyPT0g
SW52YWxpZCBmcmVlKCkgLyBkZWxldGUgLyBkZWxldGVbXSAvIHJlYWxsb2MoKQo9PTQ2NTI9PSAg
ICBhdCAweDRDOThBMkE6IGZyZWUgKHZnX3JlcGxhY2VfbWFsbG9jLmM6NTMwKQo9PTQ2NTI9PSAg
ICBieSAweDQwNTg3RTU6IHJlY2xhaW1fZ2FwcyAoZHlubGluay5jOjUwOCkKPT00NjUyPT0gICAg
YnkgMHg0MDU5OEMxOiBsb2FkX2xpYnJhcnkgKGR5bmxpbmsuYzoxMDYxKQo9PTQ2NTI9PSAgICBi
eSAweDQwNTlCNDc6IGxvYWRfZGVwcyAoZHlubGluay5jOjExMjgpCj09NDY1Mj09ICAgIGJ5IDB4
NDA1QTVBMTogX19kbHMzIChkeW5saW5rLmM6MTYyMSkKPT00NjUyPT0gICAgYnkgMHg0MDU5RjU2
OiBfX2RsczIgKGR5bmxpbmsuYzoxNDQxKQo9PTQ2NTI9PSAgICBieSAweDQwNTdEOUQ6ID8/PyAo
aW4gL2xpYi9sZC1tdXNsLXg4Nl82NC5zby4xKQo9PTQ2NTI9PSAgQWRkcmVzcyAweDY4NDEyNDAg
aXMgaW4gYSBydy0gYW5vbnltb3VzIHNlZ21lbnQKPT00NjUyPT0gCj09NDY1Mj09IFdhcm5pbmc6
IHNldCBhZGRyZXNzIHJhbmdlIHBlcm1zOiBsYXJnZSByYW5nZSBbMHhhYzAwMDAwLCAweDRhYzAy
MDAwKSAobm9hY2Nlc3MpCj09NDY1Mj09IEludmFsaWQgd3JpdGUgb2Ygc2l6ZSA4Cj09NDY1Mj09
ICAgIGF0IDB4NUUyODQ4OTogPz8/IChpbiAvdXNyL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00
LjAuc28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg1Q0RDQUUxOiBKU0M6Oklzb1N1YnNwYWNl
OjphbGxvY2F0ZU5vblZpcnR1YWwoSlNDOjpWTSYsIHVuc2lnbmVkIGxvbmcsIEpTQzo6R0NEZWZl
cnJhbENvbnRleHQqLCBKU0M6OkFsbG9jYXRpb25GYWlsdXJlTW9kZSkgKGluIC91c3IvbGliL2xp
YmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAgICBieSAweDYwMkMy
NTc6IEpTQzo6SW5mZXJyZWRWYWx1ZTo6Y3JlYXRlKEpTQzo6Vk0mKSAoaW4gL3Vzci9saWIvbGli
amF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09ICAgIGJ5IDB4NjIwMzc4
MzogSlNDOjpTeW1ib2xUYWJsZTo6ZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpIChpbiAvdXNyL2xp
Yi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg2
MEZBQTBBOiBKU0M6OkpTU2VnbWVudGVkVmFyaWFibGVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpT
Qzo6Vk0mKSAoaW4gL3Vzci9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4LjcuMTEp
Cj09NDY1Mj09ICAgIGJ5IDB4NjBCMEMxQjogSlNDOjpKU0dsb2JhbE9iamVjdDo6ZmluaXNoQ3Jl
YXRpb24oSlNDOjpWTSYpIChpbiAvdXNyL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28u
MTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg2MEIxMTM0OiBKU0M6OkpTR2xvYmFsT2JqZWN0Ojpj
cmVhdGUoSlNDOjpWTSYsIEpTQzo6U3RydWN0dXJlKikgKGluIC91c3IvbGliL2xpYmphdmFzY3Jp
cHRjb3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAgICBieSAweDU2MzFDQ0M6IEpTR2xv
YmFsQ29udGV4dENyZWF0ZUluR3JvdXAgKGluIC91c3IvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3Rr
LTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAgICBieSAweDEwODkyNDogbWFpbiAoaW4gL2hvbWUv
YmVybmQvc3JjL3dlYmtpdGJ1Zy90ZXN0KQo9PTQ2NTI9PSAgQWRkcmVzcyAweDFmZmYwMDA0Mjgg
aXMgb24gdGhyZWFkIDEncyBzdGFjawo9PTQ2NTI9PSAgMTkyIGJ5dGVzIGJlbG93IHN0YWNrIHBv
aW50ZXIKPT00NjUyPT0gCj09NDY1Mj09IEludmFsaWQgd3JpdGUgb2Ygc2l6ZSA4Cj09NDY1Mj09
ICAgIGF0IDB4NUUyODQ5MzogPz8/IChpbiAvdXNyL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00
LjAuc28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg1Q0RDQUUxOiBKU0M6Oklzb1N1YnNwYWNl
OjphbGxvY2F0ZU5vblZpcnR1YWwoSlNDOjpWTSYsIHVuc2lnbmVkIGxvbmcsIEpTQzo6R0NEZWZl
cnJhbENvbnRleHQqLCBKU0M6OkFsbG9jYXRpb25GYWlsdXJlTW9kZSkgKGluIC91c3IvbGliL2xp
YmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAgICBieSAweDYwMkMy
NTc6IEpTQzo6SW5mZXJyZWRWYWx1ZTo6Y3JlYXRlKEpTQzo6Vk0mKSAoaW4gL3Vzci9saWIvbGli
amF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09ICAgIGJ5IDB4NjIwMzc4
MzogSlNDOjpTeW1ib2xUYWJsZTo6ZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpIChpbiAvdXNyL2xp
Yi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg2
MEZBQTBBOiBKU0M6OkpTU2VnbWVudGVkVmFyaWFibGVPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpT
Qzo6Vk0mKSAoaW4gL3Vzci9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4LjcuMTEp
Cj09NDY1Mj09ICAgIGJ5IDB4NjBCMEMxQjogSlNDOjpKU0dsb2JhbE9iamVjdDo6ZmluaXNoQ3Jl
YXRpb24oSlNDOjpWTSYpIChpbiAvdXNyL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28u
MTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg2MEIxMTM0OiBKU0M6OkpTR2xvYmFsT2JqZWN0Ojpj
cmVhdGUoSlNDOjpWTSYsIEpTQzo6U3RydWN0dXJlKikgKGluIC91c3IvbGliL2xpYmphdmFzY3Jp
cHRjb3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAgICBieSAweDU2MzFDQ0M6IEpTR2xv
YmFsQ29udGV4dENyZWF0ZUluR3JvdXAgKGluIC91c3IvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3Rr
LTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAgICBieSAweDEwODkyNDogbWFpbiAoaW4gL2hvbWUv
YmVybmQvc3JjL3dlYmtpdGJ1Zy90ZXN0KQo9PTQ2NTI9PSAgQWRkcmVzcyAweDFmZmYwMDA0Mzgg
aXMgb24gdGhyZWFkIDEncyBzdGFjawo9PTQ2NTI9PSAgMTc2IGJ5dGVzIGJlbG93IHN0YWNrIHBv
aW50ZXIKPT00NjUyPT0gCj09NDY1Mj09IEludmFsaWQgd3JpdGUgb2Ygc2l6ZSA4Cj09NDY1Mj09
ICAgIGF0IDB4NUUyODQ4OTogPz8/IChpbiAvdXNyL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00
LjAuc28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg1Q0E4RTkxOiBKU0M6OkNvbXBsZXRlU3Vi
c3BhY2U6OnRyeUFsbG9jYXRlU2xvdyhKU0M6OlZNJiwgdW5zaWduZWQgbG9uZywgSlNDOjpHQ0Rl
ZmVycmFsQ29udGV4dCopIChpbiAvdXNyL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28u
MTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg1Q0E5MjY4OiBKU0M6OkNvbXBsZXRlU3Vic3BhY2U6
OmFsbG9jYXRlU2xvdyhKU0M6OlZNJiwgdW5zaWduZWQgbG9uZywgSlNDOjpHQ0RlZmVycmFsQ29u
dGV4dCosIEpTQzo6QWxsb2NhdGlvbkZhaWx1cmVNb2RlKSAoaW4gL3Vzci9saWIvbGliamF2YXNj
cmlwdGNvcmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09ICAgIGJ5IDB4NUNBOTQ5QTogSlND
OjpDb21wbGV0ZVN1YnNwYWNlOjphbGxvY2F0ZU5vblZpcnR1YWwoSlNDOjpWTSYsIHVuc2lnbmVk
IGxvbmcsIEpTQzo6R0NEZWZlcnJhbENvbnRleHQqLCBKU0M6OkFsbG9jYXRpb25GYWlsdXJlTW9k
ZSkgKGluIC91c3IvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2
NTI9PSAgICBieSAweDYwODAxMkI6ID8/PyAoaW4gL3Vzci9saWIvbGliamF2YXNjcmlwdGNvcmVn
dGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09ICAgIGJ5IDB4NjBBNkYyRTogSlNDOjpKU0dsb2Jh
bE9iamVjdDo6aW5pdChKU0M6OlZNJikgKGluIC91c3IvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3Rr
LTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAgICBieSAweDYwQjBEMUU6IEpTQzo6SlNHbG9iYWxP
YmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKSAoaW4gL3Vzci9saWIvbGliamF2YXNjcmlw
dGNvcmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09ICAgIGJ5IDB4NjBCMTEzNDogSlNDOjpK
U0dsb2JhbE9iamVjdDo6Y3JlYXRlKEpTQzo6Vk0mLCBKU0M6OlN0cnVjdHVyZSopIChpbiAvdXNy
L2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkg
MHg1NjMxQ0NDOiBKU0dsb2JhbENvbnRleHRDcmVhdGVJbkdyb3VwIChpbiAvdXNyL2xpYi9saWJq
YXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHgxMDg5MjQ6
IG1haW4gKGluIC9ob21lL2Jlcm5kL3NyYy93ZWJraXRidWcvdGVzdCkKPT00NjUyPT0gIEFkZHJl
c3MgMHgxZmZlZmZlYzk4IGlzIG9uIHRocmVhZCAxJ3Mgc3RhY2sKPT00NjUyPT0gIDMyMCBieXRl
cyBiZWxvdyBzdGFjayBwb2ludGVyCj09NDY1Mj09IAo9PTQ2NTI9PSBJbnZhbGlkIHdyaXRlIG9m
IHNpemUgOAo9PTQ2NTI9PSAgICBhdCAweDVFMjg0OTM6ID8/PyAoaW4gL3Vzci9saWIvbGliamF2
YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09ICAgIGJ5IDB4NUNBOEU5MTog
SlNDOjpDb21wbGV0ZVN1YnNwYWNlOjp0cnlBbGxvY2F0ZVNsb3coSlNDOjpWTSYsIHVuc2lnbmVk
IGxvbmcsIEpTQzo6R0NEZWZlcnJhbENvbnRleHQqKSAoaW4gL3Vzci9saWIvbGliamF2YXNjcmlw
dGNvcmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09ICAgIGJ5IDB4NUNBOTI2ODogSlNDOjpD
b21wbGV0ZVN1YnNwYWNlOjphbGxvY2F0ZVNsb3coSlNDOjpWTSYsIHVuc2lnbmVkIGxvbmcsIEpT
Qzo6R0NEZWZlcnJhbENvbnRleHQqLCBKU0M6OkFsbG9jYXRpb25GYWlsdXJlTW9kZSkgKGluIC91
c3IvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAgICBi
eSAweDVDQTk0OUE6IEpTQzo6Q29tcGxldGVTdWJzcGFjZTo6YWxsb2NhdGVOb25WaXJ0dWFsKEpT
Qzo6Vk0mLCB1bnNpZ25lZCBsb25nLCBKU0M6OkdDRGVmZXJyYWxDb250ZXh0KiwgSlNDOjpBbGxv
Y2F0aW9uRmFpbHVyZU1vZGUpIChpbiAvdXNyL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAu
c28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg2MDgwMTJCOiA/Pz8gKGluIC91c3IvbGliL2xp
YmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAgICBieSAweDYwQTZG
MkU6IEpTQzo6SlNHbG9iYWxPYmplY3Q6OmluaXQoSlNDOjpWTSYpIChpbiAvdXNyL2xpYi9saWJq
YXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg2MEIwRDFF
OiBKU0M6OkpTR2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVhdGlvbihKU0M6OlZNJikgKGluIC91c3Iv
bGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAgICBieSAw
eDYwQjExMzQ6IEpTQzo6SlNHbG9iYWxPYmplY3Q6OmNyZWF0ZShKU0M6OlZNJiwgSlNDOjpTdHJ1
Y3R1cmUqKSAoaW4gL3Vzci9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4LjcuMTEp
Cj09NDY1Mj09ICAgIGJ5IDB4NTYzMUNDQzogSlNHbG9iYWxDb250ZXh0Q3JlYXRlSW5Hcm91cCAo
aW4gL3Vzci9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09
ICAgIGJ5IDB4MTA4OTI0OiBtYWluIChpbiAvaG9tZS9iZXJuZC9zcmMvd2Via2l0YnVnL3Rlc3Qp
Cj09NDY1Mj09ICBBZGRyZXNzIDB4MWZmZWZmZWNhOCBpcyBvbiB0aHJlYWQgMSdzIHN0YWNrCj09
NDY1Mj09ICAzMDQgYnl0ZXMgYmVsb3cgc3RhY2sgcG9pbnRlcgo9PTQ2NTI9PSAKPT00NjUyPT0g
SW52YWxpZCB3cml0ZSBvZiBzaXplIDgKPT00NjUyPT0gICAgYXQgMHg1RTI4NDg5OiA/Pz8gKGlu
IC91c3IvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAg
ICBieSAweDVDRENBRTE6IEpTQzo6SXNvU3Vic3BhY2U6OmFsbG9jYXRlTm9uVmlydHVhbChKU0M6
OlZNJiwgdW5zaWduZWQgbG9uZywgSlNDOjpHQ0RlZmVycmFsQ29udGV4dCosIEpTQzo6QWxsb2Nh
dGlvbkZhaWx1cmVNb2RlKSAoaW4gL3Vzci9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNv
LjE4LjcuMTEpCj09NDY1Mj09ICAgIGJ5IDB4NjA5OEE5NDogSlNDOjpKU0Z1bmN0aW9uOjpjcmVh
dGUoSlNDOjpWTSYsIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBpbnQsIFdURjo6U3RyaW5nIGNvbnN0
JiwgbG9uZyAoKikoSlNDOjpFeGVjU3RhdGUqKSwgSlNDOjpJbnRyaW5zaWMsIGxvbmcgKCopKEpT
Qzo6RXhlY1N0YXRlKiksIEpTQzo6RE9NSklUOjpTaWduYXR1cmUgY29uc3QqKSAoaW4gL3Vzci9s
aWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09ICAgIGJ5IDB4
NjAwRkI1RDogSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6YWRkRnVuY3Rpb25Qcm9wZXJ0aWVzKEpT
Qzo6RXhlY1N0YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNGdW5jdGlvbioqLCBK
U0M6OkpTRnVuY3Rpb24qKiwgSlNDOjpKU0Z1bmN0aW9uKiopIChpbiAvdXNyL2xpYi9saWJqYXZh
c2NyaXB0Y29yZWd0ay00LjAuc28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg2MEE3NDhFOiBK
U0M6OkpTR2xvYmFsT2JqZWN0Ojppbml0KEpTQzo6Vk0mKSAoaW4gL3Vzci9saWIvbGliamF2YXNj
cmlwdGNvcmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09ICAgIGJ5IDB4NjBCMEQxRTogSlND
OjpKU0dsb2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpIChpbiAvdXNyL2xpYi9s
aWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg2MEIx
MTM0OiBKU0M6OkpTR2xvYmFsT2JqZWN0OjpjcmVhdGUoSlNDOjpWTSYsIEpTQzo6U3RydWN0dXJl
KikgKGluIC91c3IvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2
NTI9PSAgICBieSAweDU2MzFDQ0M6IEpTR2xvYmFsQ29udGV4dENyZWF0ZUluR3JvdXAgKGluIC91
c3IvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAgICBi
eSAweDEwODkyNDogbWFpbiAoaW4gL2hvbWUvYmVybmQvc3JjL3dlYmtpdGJ1Zy90ZXN0KQo9PTQ2
NTI9PSAgQWRkcmVzcyAweDFmZmVmZmViNjggaXMgb24gdGhyZWFkIDEncyBzdGFjawo9PTQ2NTI9
PSAgNjA4IGJ5dGVzIGJlbG93IHN0YWNrIHBvaW50ZXIKPT00NjUyPT0gCj09NDY1Mj09IEludmFs
aWQgd3JpdGUgb2Ygc2l6ZSA4Cj09NDY1Mj09ICAgIGF0IDB4NUUyODQ5MzogPz8/IChpbiAvdXNy
L2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkg
MHg1Q0RDQUUxOiBKU0M6Oklzb1N1YnNwYWNlOjphbGxvY2F0ZU5vblZpcnR1YWwoSlNDOjpWTSYs
IHVuc2lnbmVkIGxvbmcsIEpTQzo6R0NEZWZlcnJhbENvbnRleHQqLCBKU0M6OkFsbG9jYXRpb25G
YWlsdXJlTW9kZSkgKGluIC91c3IvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOC43
LjExKQo9PTQ2NTI9PSAgICBieSAweDYwOThBOTQ6IEpTQzo6SlNGdW5jdGlvbjo6Y3JlYXRlKEpT
Qzo6Vk0mLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgaW50LCBXVEY6OlN0cmluZyBjb25zdCYsIGxv
bmcgKCopKEpTQzo6RXhlY1N0YXRlKiksIEpTQzo6SW50cmluc2ljLCBsb25nICgqKShKU0M6OkV4
ZWNTdGF0ZSopLCBKU0M6OkRPTUpJVDo6U2lnbmF0dXJlIGNvbnN0KikgKGluIC91c3IvbGliL2xp
YmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAgICBieSAweDYwMEZC
NUQ6IEpTQzo6RnVuY3Rpb25Qcm90b3R5cGU6OmFkZEZ1bmN0aW9uUHJvcGVydGllcyhKU0M6OkV4
ZWNTdGF0ZSosIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpTRnVuY3Rpb24qKiwgSlNDOjpK
U0Z1bmN0aW9uKiosIEpTQzo6SlNGdW5jdGlvbioqKSAoaW4gL3Vzci9saWIvbGliamF2YXNjcmlw
dGNvcmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09ICAgIGJ5IDB4NjBBNzQ4RTogSlNDOjpK
U0dsb2JhbE9iamVjdDo6aW5pdChKU0M6OlZNJikgKGluIC91c3IvbGliL2xpYmphdmFzY3JpcHRj
b3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAgICBieSAweDYwQjBEMUU6IEpTQzo6SlNH
bG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKSAoaW4gL3Vzci9saWIvbGliamF2
YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09ICAgIGJ5IDB4NjBCMTEzNDog
SlNDOjpKU0dsb2JhbE9iamVjdDo6Y3JlYXRlKEpTQzo6Vk0mLCBKU0M6OlN0cnVjdHVyZSopIChp
biAvdXNyL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTguNy4xMSkKPT00NjUyPT0g
ICAgYnkgMHg1NjMxQ0NDOiBKU0dsb2JhbENvbnRleHRDcmVhdGVJbkdyb3VwIChpbiAvdXNyL2xp
Yi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHgx
MDg5MjQ6IG1haW4gKGluIC9ob21lL2Jlcm5kL3NyYy93ZWJraXRidWcvdGVzdCkKPT00NjUyPT0g
IEFkZHJlc3MgMHgxZmZlZmZlYjc4IGlzIG9uIHRocmVhZCAxJ3Mgc3RhY2sKPT00NjUyPT0gIDU5
MiBieXRlcyBiZWxvdyBzdGFjayBwb2ludGVyCj09NDY1Mj09IApFcnJvciBjb21waWxpbmcgYnVp
bHRpbjogCkZhdGFsIGVycm9yIGNvbXBpbGluZyBidWlsdGluIGZ1bmN0aW9uICdhcHBseSc6ID09
NDY1Mj09IEludmFsaWQgd3JpdGUgb2Ygc2l6ZSA0Cj09NDY1Mj09ICAgIGF0IDB4NjM2OTY3Qzog
V1RGQ3Jhc2ggKGluIC91c3IvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOC43LjEx
KQo9PTQ2NTI9PSAgICBieSAweDU3QTNDODE6IEpTQzo6QnVpbHRpbkV4ZWN1dGFibGVzOjpjcmVh
dGVFeGVjdXRhYmxlKEpTQzo6Vk0mLCBKU0M6OlNvdXJjZUNvZGUgY29uc3QmLCBKU0M6OklkZW50
aWZpZXIgY29uc3QmLCBKU0M6OkNvbnN0cnVjdG9yS2luZCwgSlNDOjpDb25zdHJ1Y3RBYmlsaXR5
KSAoaW4gL3Vzci9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1
Mj09ICAgIGJ5IDB4NTdBOTE4QTogSlNDOjpCdWlsdGluRXhlY3V0YWJsZXM6OmZ1bmN0aW9uUHJv
dG90eXBlQXBwbHlDb2RlRXhlY3V0YWJsZSgpIChpbiAvdXNyL2xpYi9saWJqYXZhc2NyaXB0Y29y
ZWd0ay00LjAuc28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg1NjI4OTkwOiBKU0M6OmZ1bmN0
aW9uUHJvdG90eXBlQXBwbHlDb2RlR2VuZXJhdG9yKEpTQzo6Vk0mKSAoaW4gL3Vzci9saWIvbGli
amF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09ICAgIGJ5IDB4NjAwRkI4
NzogSlNDOjpGdW5jdGlvblByb3RvdHlwZTo6YWRkRnVuY3Rpb25Qcm9wZXJ0aWVzKEpTQzo6RXhl
Y1N0YXRlKiwgSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6SlNGdW5jdGlvbioqLCBKU0M6OkpT
RnVuY3Rpb24qKiwgSlNDOjpKU0Z1bmN0aW9uKiopIChpbiAvdXNyL2xpYi9saWJqYXZhc2NyaXB0
Y29yZWd0ay00LjAuc28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg2MEE3NDhFOiBKU0M6OkpT
R2xvYmFsT2JqZWN0Ojppbml0KEpTQzo6Vk0mKSAoaW4gL3Vzci9saWIvbGliamF2YXNjcmlwdGNv
cmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09ICAgIGJ5IDB4NjBCMEQxRTogSlNDOjpKU0ds
b2JhbE9iamVjdDo6ZmluaXNoQ3JlYXRpb24oSlNDOjpWTSYpIChpbiAvdXNyL2xpYi9saWJqYXZh
c2NyaXB0Y29yZWd0ay00LjAuc28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg2MEIxMTM0OiBK
U0M6OkpTR2xvYmFsT2JqZWN0OjpjcmVhdGUoSlNDOjpWTSYsIEpTQzo6U3RydWN0dXJlKikgKGlu
IC91c3IvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAg
ICBieSAweDU2MzFDQ0M6IEpTR2xvYmFsQ29udGV4dENyZWF0ZUluR3JvdXAgKGluIC91c3IvbGli
L2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAgICBieSAweDEw
ODkyNDogbWFpbiAoaW4gL2hvbWUvYmVybmQvc3JjL3dlYmtpdGJ1Zy90ZXN0KQo9PTQ2NTI9PSAg
QWRkcmVzcyAweGJiYWRiZWVmIGlzIG5vdCBzdGFjaydkLCBtYWxsb2MnZCBvciAocmVjZW50bHkp
IGZyZWUnZAo9PTQ2NTI9PSAKPT00NjUyPT0gCj09NDY1Mj09IFByb2Nlc3MgdGVybWluYXRpbmcg
d2l0aCBkZWZhdWx0IGFjdGlvbiBvZiBzaWduYWwgMTEgKFNJR1NFR1YpCj09NDY1Mj09ICBBY2Nl
c3Mgbm90IHdpdGhpbiBtYXBwZWQgcmVnaW9uIGF0IGFkZHJlc3MgMHhCQkFEQkVFRgo9PTQ2NTI9
PSAgICBhdCAweDYzNjk2N0M6IFdURkNyYXNoIChpbiAvdXNyL2xpYi9saWJqYXZhc2NyaXB0Y29y
ZWd0ay00LjAuc28uMTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg1N0EzQzgxOiBKU0M6OkJ1aWx0
aW5FeGVjdXRhYmxlczo6Y3JlYXRlRXhlY3V0YWJsZShKU0M6OlZNJiwgSlNDOjpTb3VyY2VDb2Rl
IGNvbnN0JiwgSlNDOjpJZGVudGlmaWVyIGNvbnN0JiwgSlNDOjpDb25zdHJ1Y3RvcktpbmQsIEpT
Qzo6Q29uc3RydWN0QWJpbGl0eSkgKGluIC91c3IvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQu
MC5zby4xOC43LjExKQo9PTQ2NTI9PSAgICBieSAweDU3QTkxOEE6IEpTQzo6QnVpbHRpbkV4ZWN1
dGFibGVzOjpmdW5jdGlvblByb3RvdHlwZUFwcGx5Q29kZUV4ZWN1dGFibGUoKSAoaW4gL3Vzci9s
aWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09ICAgIGJ5IDB4
NTYyODk5MDogSlNDOjpmdW5jdGlvblByb3RvdHlwZUFwcGx5Q29kZUdlbmVyYXRvcihKU0M6OlZN
JikgKGluIC91c3IvbGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2
NTI9PSAgICBieSAweDYwMEZCODc6IEpTQzo6RnVuY3Rpb25Qcm90b3R5cGU6OmFkZEZ1bmN0aW9u
UHJvcGVydGllcyhKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkpT
RnVuY3Rpb24qKiwgSlNDOjpKU0Z1bmN0aW9uKiosIEpTQzo6SlNGdW5jdGlvbioqKSAoaW4gL3Vz
ci9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09ICAgIGJ5
IDB4NjBBNzQ4RTogSlNDOjpKU0dsb2JhbE9iamVjdDo6aW5pdChKU0M6OlZNJikgKGluIC91c3Iv
bGliL2xpYmphdmFzY3JpcHRjb3JlZ3RrLTQuMC5zby4xOC43LjExKQo9PTQ2NTI9PSAgICBieSAw
eDYwQjBEMUU6IEpTQzo6SlNHbG9iYWxPYmplY3Q6OmZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKSAo
aW4gL3Vzci9saWIvbGliamF2YXNjcmlwdGNvcmVndGstNC4wLnNvLjE4LjcuMTEpCj09NDY1Mj09
ICAgIGJ5IDB4NjBCMTEzNDogSlNDOjpKU0dsb2JhbE9iamVjdDo6Y3JlYXRlKEpTQzo6Vk0mLCBK
U0M6OlN0cnVjdHVyZSopIChpbiAvdXNyL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28u
MTguNy4xMSkKPT00NjUyPT0gICAgYnkgMHg1NjMxQ0NDOiBKU0dsb2JhbENvbnRleHRDcmVhdGVJ
bkdyb3VwIChpbiAvdXNyL2xpYi9saWJqYXZhc2NyaXB0Y29yZWd0ay00LjAuc28uMTguNy4xMSkK
PT00NjUyPT0gICAgYnkgMHgxMDg5MjQ6IG1haW4gKGluIC9ob21lL2Jlcm5kL3NyYy93ZWJraXRi
dWcvdGVzdCkKPT00NjUyPT0gIElmIHlvdSBiZWxpZXZlIHRoaXMgaGFwcGVuZWQgYXMgYSByZXN1
bHQgb2YgYSBzdGFjawo9PTQ2NTI9PSAgb3ZlcmZsb3cgaW4geW91ciBwcm9ncmFtJ3MgbWFpbiB0
aHJlYWQgKHVubGlrZWx5IGJ1dAo9PTQ2NTI9PSAgcG9zc2libGUpLCB5b3UgY2FuIHRyeSB0byBp
bmNyZWFzZSB0aGUgc2l6ZSBvZiB0aGUKPT00NjUyPT0gIG1haW4gdGhyZWFkIHN0YWNrIHVzaW5n
IHRoZSAtLW1haW4tc3RhY2tzaXplPSBmbGFnLgo9PTQ2NTI9PSAgVGhlIG1haW4gdGhyZWFkIHN0
YWNrIHNpemUgdXNlZCBpbiB0aGlzIHJ1biB3YXMgODM4ODYwOC4KPT00NjUyPT0gCj09NDY1Mj09
IEhFQVAgU1VNTUFSWToKPT00NjUyPT0gICAgIGluIHVzZSBhdCBleGl0OiAxMTksNzQ1IGJ5dGVz
IGluIDMyOCBibG9ja3MKPT00NjUyPT0gICB0b3RhbCBoZWFwIHVzYWdlOiAzODkgYWxsb2NzLCA3
OCBmcmVlcywgMTI3LDkyOCBieXRlcyBhbGxvY2F0ZWQKPT00NjUyPT0gCj09NDY1Mj09IExFQUsg
U1VNTUFSWToKPT00NjUyPT0gICAgZGVmaW5pdGVseSBsb3N0OiAwIGJ5dGVzIGluIDAgYmxvY2tz
Cj09NDY1Mj09ICAgIGluZGlyZWN0bHkgbG9zdDogMCBieXRlcyBpbiAwIGJsb2Nrcwo9PTQ2NTI9
PSAgICAgIHBvc3NpYmx5IGxvc3Q6IDEsMzUyIGJ5dGVzIGluIDE4IGJsb2Nrcwo9PTQ2NTI9PSAg
ICBzdGlsbCByZWFjaGFibGU6IDExOCwzOTMgYnl0ZXMgaW4gMzEwIGJsb2Nrcwo9PTQ2NTI9PSAg
ICAgICAgICAgICAgICAgICAgICAgb2Ygd2hpY2ggcmVhY2hhYmxlIHZpYSBoZXVyaXN0aWM6Cj09
NDY1Mj09ICAgICAgICAgICAgICAgICAgICAgICAgIG5ld2FycmF5ICAgICAgICAgICA6IDEsNTM2
IGJ5dGVzIGluIDE2IGJsb2Nrcwo9PTQ2NTI9PSAgICAgICAgIHN1cHByZXNzZWQ6IDAgYnl0ZXMg
aW4gMCBibG9ja3MKPT00NjUyPT0gUmVydW4gd2l0aCAtLWxlYWstY2hlY2s9ZnVsbCB0byBzZWUg
ZGV0YWlscyBvZiBsZWFrZWQgbWVtb3J5Cj09NDY1Mj09IAo9PTQ2NTI9PSBGb3IgY291bnRzIG9m
IGRldGVjdGVkIGFuZCBzdXBwcmVzc2VkIGVycm9ycywgcmVydW4gd2l0aDogLXYKPT00NjUyPT0g
RVJST1IgU1VNTUFSWTogMTgwIGVycm9ycyBmcm9tIDkgY29udGV4dHMgKHN1cHByZXNzZWQ6IDAg
ZnJvbSAwKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>