<?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>28263</bug_id>
          
          <creation_ts>2009-08-13 09:43:53 -0700</creation_ts>
          <short_desc>Add support for Fedora distros in the http tests</short_desc>
          <delta_ts>2009-09-01 05:51:10 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Xan Lopez">xan.lopez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>139880</commentid>
    <comment_count>0</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-08-13 09:43:53 -0700</bug_when>
    <thetext>Subject says it all, add the needed detection code and a working conf file.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139881</commentid>
    <comment_count>1</comment_count>
      <attachid>34751</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-08-13 09:48:15 -0700</bug_when>
    <thetext>Created attachment 34751
httpdconf.patch

Add support for Fedora in http tests that use Apache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>139901</commentid>
    <comment_count>2</comment_count>
      <attachid>34751</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-13 10:07:25 -0700</bug_when>
    <thetext>Comment on attachment 34751
httpdconf.patch

It&apos;s very sad that our apache conf files are just copy/paste of one another.  I would think we could share a lot more code between them. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142827</commentid>
    <comment_count>3</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-08-26 05:12:35 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 34751 [details])
&gt; It&apos;s very sad that our apache conf files are just copy/paste of one another.  I
&gt; would think we could share a lot more code between them. :(

So... I can agree with the sentiment here, but it kind of sucks to block this because of that now that there&apos;s already a lot of httpd.conf files in the tree :/

Adding the latest revision of the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142828</commentid>
    <comment_count>4</comment_count>
      <attachid>38605</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-08-26 05:13:21 -0700</bug_when>
    <thetext>Created attachment 38605
fedorahttpd.patch

httpd support for Fedora.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143867</commentid>
    <comment_count>5</comment_count>
      <attachid>38605</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-09-01 05:43:51 -0700</bug_when>
    <thetext>Comment on attachment 38605
fedorahttpd.patch

Yep!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>143870</commentid>
    <comment_count>6</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-09-01 05:51:10 -0700</bug_when>
    <thetext>Landed in r47930, closing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34751</attachid>
            <date>2009-08-13 09:48:15 -0700</date>
            <delta_ts>2009-08-26 05:13:21 -0700</delta_ts>
            <desc>httpdconf.patch</desc>
            <filename>httpdconf.patch</filename>
            <type>text/plain</type>
            <size>39662</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSA1Yjc0YTRkMGEyMDEwM2YwMjVjYmVhZGY4ZTNjYjVmZThlYjdhMGI4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBU
aHUsIDEzIEF1ZyAyMDA5IDE5OjQ0OjM3ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gTGF5b3V0VGVz
dHM6CgoyMDA5LTA4LTEzICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIEFkZCBzdXBwb3J0IGZvciBGZWRv
cmEgZGlzdHJvcyBpbiB0aGUgaHR0cCB0ZXN0cwogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yODI2MwoKICAgICAgICBBZGQgaHR0cGQgY29uZiBmaWxlIGZv
ciBGZWRvcmEuCgogICAgICAgICogaHR0cC9jb25mL2ZlZG9yYS1odHRwZC5jb25mOiBBZGRlZC4K
CldlYktpdFRvb2xzOgoKMjAwOS0wOC0xMyAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+
CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBBZGQgc3VwcG9y
dCBmb3IgRmVkb3JhIGRpc3Ryb3MgaW4gdGhlIGh0dHAgdGVzdHMKICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgyNjMKCiAgICAgICAgQWRkIGRldGVjdGlv
biBjb2RlIGZvciBGZWRvcmEgZGlzdHJpYnV0aW9uLCBhbmQgdXNlIHRoZSBwcm9wZXIKICAgICAg
ICBodHRwZCBjb25mIGZpbGUgd2hlbiBuZWVkZWQuCgogICAgICAgICogU2NyaXB0cy9ydW4td2Vi
a2l0LXRlc3RzOgogICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOgotLS0KIExheW91dFRl
c3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICB8ICAgMTEgKwogTGF5b3V0VGVzdHMvaHR0
cC9jb25mL2ZlZG9yYS1odHRwZC5jb25mIHwgMTAyNiArKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrCiBXZWJLaXRUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgfCAgIDEzICsK
IFdlYktpdFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cyAgICB8ICAgIDMgKwogV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtICAgICAgIHwgICAgNSArCiA1IGZpbGVzIGNoYW5n
ZWQsIDEwNTggaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBMYXlvdXRUZXN0cy9odHRwL2NvbmYvZmVkb3JhLWh0dHBkLmNvbmYKCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOWEyODQ5
MS4uOTg2ZDRhZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDA5LTA4LTEzICBYYW4gTG9wZXog
IDx4bG9wZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgRmVkb3JhIGRpc3Ryb3MgaW4gdGhlIGh0dHAg
dGVzdHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4
MjYzCisKKyAgICAgICAgQWRkIGh0dHBkIGNvbmYgZmlsZSBmb3IgRmVkb3JhLgorCisgICAgICAg
ICogaHR0cC9jb25mL2ZlZG9yYS1odHRwZC5jb25mOiBBZGRlZC4KKwogMjAwOS0wOC0xMiAgQWxw
aGEgTGFtIDwgaGNsYW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIE5vdCByZXZpZXdlZCwgV2lu
ZG93cyB0ZXN0IGZpeCBhZnRlciBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC80NzE3
MS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvY29uZi9mZWRvcmEtaHR0cGQuY29uZiBi
L0xheW91dFRlc3RzL2h0dHAvY29uZi9mZWRvcmEtaHR0cGQuY29uZgpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi4wOTcwYTY1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC9jb25mL2ZlZG9yYS1odHRwZC5jb25mCkBAIC0wLDAgKzEsMTAyNiBAQAorIworIyBU
aGlzIGlzIHRoZSBtYWluIEFwYWNoZSBzZXJ2ZXIgY29uZmlndXJhdGlvbiBmaWxlLiAgSXQgY29u
dGFpbnMgdGhlCisjIGNvbmZpZ3VyYXRpb24gZGlyZWN0aXZlcyB0aGF0IGdpdmUgdGhlIHNlcnZl
ciBpdHMgaW5zdHJ1Y3Rpb25zLgorIyBTZWUgPFVSTDpodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9k
b2NzLzIuMi8+IGZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbi4KKyMgSW4gcGFydGljdWxhciwgc2Vl
CisjIDxVUkw6aHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjIvbW9kL2RpcmVjdGl2ZXMu
aHRtbD4KKyMgZm9yIGEgZGlzY3Vzc2lvbiBvZiBlYWNoIGNvbmZpZ3VyYXRpb24gZGlyZWN0aXZl
LgorIworIworIyBEbyBOT1Qgc2ltcGx5IHJlYWQgdGhlIGluc3RydWN0aW9ucyBpbiBoZXJlIHdp
dGhvdXQgdW5kZXJzdGFuZGluZworIyB3aGF0IHRoZXkgZG8uICBUaGV5J3JlIGhlcmUgb25seSBh
cyBoaW50cyBvciByZW1pbmRlcnMuICBJZiB5b3UgYXJlIHVuc3VyZQorIyBjb25zdWx0IHRoZSBv
bmxpbmUgZG9jcy4gWW91IGhhdmUgYmVlbiB3YXJuZWQuICAKKyMKKyMgVGhlIGNvbmZpZ3VyYXRp
b24gZGlyZWN0aXZlcyBhcmUgZ3JvdXBlZCBpbnRvIHRocmVlIGJhc2ljIHNlY3Rpb25zOgorIyAg
MS4gRGlyZWN0aXZlcyB0aGF0IGNvbnRyb2wgdGhlIG9wZXJhdGlvbiBvZiB0aGUgQXBhY2hlIHNl
cnZlciBwcm9jZXNzIGFzIGEKKyMgICAgIHdob2xlICh0aGUgJ2dsb2JhbCBlbnZpcm9ubWVudCcp
LgorIyAgMi4gRGlyZWN0aXZlcyB0aGF0IGRlZmluZSB0aGUgcGFyYW1ldGVycyBvZiB0aGUgJ21h
aW4nIG9yICdkZWZhdWx0JyBzZXJ2ZXIsCisjICAgICB3aGljaCByZXNwb25kcyB0byByZXF1ZXN0
cyB0aGF0IGFyZW4ndCBoYW5kbGVkIGJ5IGEgdmlydHVhbCBob3N0LgorIyAgICAgVGhlc2UgZGly
ZWN0aXZlcyBhbHNvIHByb3ZpZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIHRoZSBzZXR0aW5ncworIyAg
ICAgb2YgYWxsIHZpcnR1YWwgaG9zdHMuCisjICAzLiBTZXR0aW5ncyBmb3IgdmlydHVhbCBob3N0
cywgd2hpY2ggYWxsb3cgV2ViIHJlcXVlc3RzIHRvIGJlIHNlbnQgdG8KKyMgICAgIGRpZmZlcmVu
dCBJUCBhZGRyZXNzZXMgb3IgaG9zdG5hbWVzIGFuZCBoYXZlIHRoZW0gaGFuZGxlZCBieSB0aGUK
KyMgICAgIHNhbWUgQXBhY2hlIHNlcnZlciBwcm9jZXNzLgorIworIyBDb25maWd1cmF0aW9uIGFu
ZCBsb2dmaWxlIG5hbWVzOiBJZiB0aGUgZmlsZW5hbWVzIHlvdSBzcGVjaWZ5IGZvciBtYW55Cisj
IG9mIHRoZSBzZXJ2ZXIncyBjb250cm9sIGZpbGVzIGJlZ2luIHdpdGggIi8iIChvciAiZHJpdmU6
LyIgZm9yIFdpbjMyKSwgdGhlCisjIHNlcnZlciB3aWxsIHVzZSB0aGF0IGV4cGxpY2l0IHBhdGgu
ICBJZiB0aGUgZmlsZW5hbWVzIGRvICpub3QqIGJlZ2luCisjIHdpdGggIi8iLCB0aGUgdmFsdWUg
b2YgU2VydmVyUm9vdCBpcyBwcmVwZW5kZWQgLS0gc28gImxvZ3MvZm9vLmxvZyIKKyMgd2l0aCBT
ZXJ2ZXJSb290IHNldCB0byAiL2V0Yy9odHRwZCIgd2lsbCBiZSBpbnRlcnByZXRlZCBieSB0aGUK
KyMgc2VydmVyIGFzICIvZXRjL2h0dHBkL2xvZ3MvZm9vLmxvZyIuCisjCisKKyMjIyBTZWN0aW9u
IDE6IEdsb2JhbCBFbnZpcm9ubWVudAorIworIyBUaGUgZGlyZWN0aXZlcyBpbiB0aGlzIHNlY3Rp
b24gYWZmZWN0IHRoZSBvdmVyYWxsIG9wZXJhdGlvbiBvZiBBcGFjaGUsCisjIHN1Y2ggYXMgdGhl
IG51bWJlciBvZiBjb25jdXJyZW50IHJlcXVlc3RzIGl0IGNhbiBoYW5kbGUgb3Igd2hlcmUgaXQK
KyMgY2FuIGZpbmQgaXRzIGNvbmZpZ3VyYXRpb24gZmlsZXMuCisjCisKKyMKKyMgRG9uJ3QgZ2l2
ZSBhd2F5IHRvbyBtdWNoIGluZm9ybWF0aW9uIGFib3V0IGFsbCB0aGUgc3ViY29tcG9uZW50cwor
IyB3ZSBhcmUgcnVubmluZy4gIENvbW1lbnQgb3V0IHRoaXMgbGluZSBpZiB5b3UgZG9uJ3QgbWlu
ZCByZW1vdGUgc2l0ZXMKKyMgZmluZGluZyBvdXQgd2hhdCBtYWpvciBvcHRpb25hbCBtb2R1bGVz
IHlvdSBhcmUgcnVubmluZworU2VydmVyVG9rZW5zIE9TCisKKyMKKyMgU2VydmVyUm9vdDogVGhl
IHRvcCBvZiB0aGUgZGlyZWN0b3J5IHRyZWUgdW5kZXIgd2hpY2ggdGhlIHNlcnZlcidzCisjIGNv
bmZpZ3VyYXRpb24sIGVycm9yLCBhbmQgbG9nIGZpbGVzIGFyZSBrZXB0LgorIworIyBOT1RFISAg
SWYgeW91IGludGVuZCB0byBwbGFjZSB0aGlzIG9uIGFuIE5GUyAob3Igb3RoZXJ3aXNlIG5ldHdv
cmspCisjIG1vdW50ZWQgZmlsZXN5c3RlbSB0aGVuIHBsZWFzZSByZWFkIHRoZSBMb2NrRmlsZSBk
b2N1bWVudGF0aW9uCisjIChhdmFpbGFibGUgYXQgPFVSTDpodHRwOi8vaHR0cGQuYXBhY2hlLm9y
Zy9kb2NzLzIuMi9tb2QvbXBtX2NvbW1vbi5odG1sI2xvY2tmaWxlPik7CisjIHlvdSB3aWxsIHNh
dmUgeW91cnNlbGYgYSBsb3Qgb2YgdHJvdWJsZS4KKyMKKyMgRG8gTk9UIGFkZCBhIHNsYXNoIGF0
IHRoZSBlbmQgb2YgdGhlIGRpcmVjdG9yeSBwYXRoLgorIworU2VydmVyUm9vdCAiL2V0Yy9odHRw
ZCIKKworIworIyBQaWRGaWxlOiBUaGUgZmlsZSBpbiB3aGljaCB0aGUgc2VydmVyIHNob3VsZCBy
ZWNvcmQgaXRzIHByb2Nlc3MKKyMgaWRlbnRpZmljYXRpb24gbnVtYmVyIHdoZW4gaXQgc3RhcnRz
LgorIworTG9ja0ZpbGUgIi90bXAvV2ViS2l0L2h0dHBkLmxvY2siCisKKyMKKyMgUGlkRmlsZTog
VGhlIGZpbGUgaW4gd2hpY2ggdGhlIHNlcnZlciBzaG91bGQgcmVjb3JkIGl0cyBwcm9jZXNzCisj
IGlkZW50aWZpY2F0aW9uIG51bWJlciB3aGVuIGl0IHN0YXJ0cy4KKyMKK1BpZEZpbGUgIi90bXAv
V2ViS2l0L2h0dHBkLnBpZCIKKworIworIyBTY29yZUJvYXJkRmlsZTogRmlsZSB1c2VkIHRvIHN0
b3JlIGludGVybmFsIHNlcnZlciBwcm9jZXNzIGluZm9ybWF0aW9uLgorIyBOb3QgYWxsIGFyY2hp
dGVjdHVyZXMgcmVxdWlyZSB0aGlzLiAgQnV0IGlmIHlvdXJzIGRvZXMgKHlvdSdsbCBrbm93IGJl
Y2F1c2UKKyMgdGhpcyBmaWxlIHdpbGwgYmUgIGNyZWF0ZWQgd2hlbiB5b3UgcnVuIEFwYWNoZSkg
dGhlbiB5b3UgKm11c3QqIGVuc3VyZSB0aGF0CisjIG5vIHR3byBpbnZvY2F0aW9ucyBvZiBBcGFj
aGUgc2hhcmUgdGhlIHNhbWUgc2NvcmVib2FyZCBmaWxlLgorIworU2NvcmVCb2FyZEZpbGUgIi90
bXAvV2ViS2l0L2h0dHBkLnNjb3JlYm9hcmQiCisKKyMKKyMgVGltZW91dDogVGhlIG51bWJlciBv
ZiBzZWNvbmRzIGJlZm9yZSByZWNlaXZlcyBhbmQgc2VuZHMgdGltZSBvdXQuCisjCitUaW1lb3V0
IDEyMAorCisjCisjIEtlZXBBbGl2ZTogV2hldGhlciBvciBub3QgdG8gYWxsb3cgcGVyc2lzdGVu
dCBjb25uZWN0aW9ucyAobW9yZSB0aGFuCisjIG9uZSByZXF1ZXN0IHBlciBjb25uZWN0aW9uKS4g
U2V0IHRvICJPZmYiIHRvIGRlYWN0aXZhdGUuCisjCitLZWVwQWxpdmUgT24KKworIworIyBNYXhL
ZWVwQWxpdmVSZXF1ZXN0czogVGhlIG1heGltdW0gbnVtYmVyIG9mIHJlcXVlc3RzIHRvIGFsbG93
CisjIGR1cmluZyBhIHBlcnNpc3RlbnQgY29ubmVjdGlvbi4gU2V0IHRvIDAgdG8gYWxsb3cgYW4g
dW5saW1pdGVkIGFtb3VudC4KKyMgV2UgcmVjb21tZW5kIHlvdSBsZWF2ZSB0aGlzIG51bWJlciBo
aWdoLCBmb3IgbWF4aW11bSBwZXJmb3JtYW5jZS4KKyMKK01heEtlZXBBbGl2ZVJlcXVlc3RzIDEw
MAorCisjCisjIEtlZXBBbGl2ZVRpbWVvdXQ6IE51bWJlciBvZiBzZWNvbmRzIHRvIHdhaXQgZm9y
IHRoZSBuZXh0IHJlcXVlc3QgZnJvbSB0aGUKKyMgc2FtZSBjbGllbnQgb24gdGhlIHNhbWUgY29u
bmVjdGlvbi4KKyMKK0tlZXBBbGl2ZVRpbWVvdXQgMTUKKworTWluU3BhcmVTZXJ2ZXJzIDEKK01h
eFNwYXJlU2VydmVycyA1CitTdGFydFNlcnZlcnMgMQorTWF4Q2xpZW50cyAxNTAKKworIyMKKyMj
IFNlcnZlci1Qb29sIFNpemUgUmVndWxhdGlvbiAoTVBNIHNwZWNpZmljKQorIyMgCisKKyMgcHJl
Zm9yayBNUE0KKyMgU3RhcnRTZXJ2ZXJzOiBudW1iZXIgb2Ygc2VydmVyIHByb2Nlc3NlcyB0byBz
dGFydAorIyBNaW5TcGFyZVNlcnZlcnM6IG1pbmltdW0gbnVtYmVyIG9mIHNlcnZlciBwcm9jZXNz
ZXMgd2hpY2ggYXJlIGtlcHQgc3BhcmUKKyMgTWF4U3BhcmVTZXJ2ZXJzOiBtYXhpbXVtIG51bWJl
ciBvZiBzZXJ2ZXIgcHJvY2Vzc2VzIHdoaWNoIGFyZSBrZXB0IHNwYXJlCisjIFNlcnZlckxpbWl0
OiBtYXhpbXVtIHZhbHVlIGZvciBNYXhDbGllbnRzIGZvciB0aGUgbGlmZXRpbWUgb2YgdGhlIHNl
cnZlcgorIyBNYXhDbGllbnRzOiBtYXhpbXVtIG51bWJlciBvZiBzZXJ2ZXIgcHJvY2Vzc2VzIGFs
bG93ZWQgdG8gc3RhcnQKKyMgTWF4UmVxdWVzdHNQZXJDaGlsZDogbWF4aW11bSBudW1iZXIgb2Yg
cmVxdWVzdHMgYSBzZXJ2ZXIgcHJvY2VzcyBzZXJ2ZXMKKworIyB3b3JrZXIgTVBNCisjIFN0YXJ0
U2VydmVyczogaW5pdGlhbCBudW1iZXIgb2Ygc2VydmVyIHByb2Nlc3NlcyB0byBzdGFydAorIyBN
YXhDbGllbnRzOiBtYXhpbXVtIG51bWJlciBvZiBzaW11bHRhbmVvdXMgY2xpZW50IGNvbm5lY3Rp
b25zCisjIE1pblNwYXJlVGhyZWFkczogbWluaW11bSBudW1iZXIgb2Ygd29ya2VyIHRocmVhZHMg
d2hpY2ggYXJlIGtlcHQgc3BhcmUKKyMgTWF4U3BhcmVUaHJlYWRzOiBtYXhpbXVtIG51bWJlciBv
ZiB3b3JrZXIgdGhyZWFkcyB3aGljaCBhcmUga2VwdCBzcGFyZQorIyBUaHJlYWRzUGVyQ2hpbGQ6
IGNvbnN0YW50IG51bWJlciBvZiB3b3JrZXIgdGhyZWFkcyBpbiBlYWNoIHNlcnZlciBwcm9jZXNz
CisjIE1heFJlcXVlc3RzUGVyQ2hpbGQ6IG1heGltdW0gbnVtYmVyIG9mIHJlcXVlc3RzIGEgc2Vy
dmVyIHByb2Nlc3Mgc2VydmVzCisKKyMKKyMgTGlzdGVuOiBBbGxvd3MgeW91IHRvIGJpbmQgQXBh
Y2hlIHRvIHNwZWNpZmljIElQIGFkZHJlc3NlcyBhbmQvb3IKKyMgcG9ydHMsIGluIGFkZGl0aW9u
IHRvIHRoZSBkZWZhdWx0LiBTZWUgYWxzbyB0aGUgPFZpcnR1YWxIb3N0PgorIyBkaXJlY3RpdmUu
CisjCisjIENoYW5nZSB0aGlzIHRvIExpc3RlbiBvbiBzcGVjaWZpYyBJUCBhZGRyZXNzZXMgYXMg
c2hvd24gYmVsb3cgdG8gCisjIHByZXZlbnQgQXBhY2hlIGZyb20gZ2xvbW1pbmcgb250byBhbGwg
Ym91bmQgSVAgYWRkcmVzc2VzICgwLjAuMC4wKQorIworI0xpc3RlbiAxMi4zNC41Ni43ODo4MAor
TGlzdGVuIDEyNy4wLjAuMTo4MDgwCitMaXN0ZW4gMTI3LjAuMC4xOjg0NDMKKworIworIyBEeW5h
bWljIFNoYXJlZCBPYmplY3QgKERTTykgU3VwcG9ydAorIworIyBUbyBiZSBhYmxlIHRvIHVzZSB0
aGUgZnVuY3Rpb25hbGl0eSBvZiBhIG1vZHVsZSB3aGljaCB3YXMgYnVpbHQgYXMgYSBEU08geW91
CisjIGhhdmUgdG8gcGxhY2UgY29ycmVzcG9uZGluZyBgTG9hZE1vZHVsZScgbGluZXMgYXQgdGhp
cyBsb2NhdGlvbiBzbyB0aGUKKyMgZGlyZWN0aXZlcyBjb250YWluZWQgaW4gaXQgYXJlIGFjdHVh
bGx5IGF2YWlsYWJsZSBfYmVmb3JlXyB0aGV5IGFyZSB1c2VkLgorIyBTdGF0aWNhbGx5IGNvbXBp
bGVkIG1vZHVsZXMgKHRob3NlIGxpc3RlZCBieSBgaHR0cGQgLWwnKSBkbyBub3QgbmVlZAorIyB0
byBiZSBsb2FkZWQgaGVyZS4KKyMKKyMgRXhhbXBsZToKKyMgTG9hZE1vZHVsZSBmb29fbW9kdWxl
IG1vZHVsZXMvbW9kX2Zvby5zbworIworTG9hZE1vZHVsZSBhdXRoX2Jhc2ljX21vZHVsZSBtb2R1
bGVzL21vZF9hdXRoX2Jhc2ljLnNvCitMb2FkTW9kdWxlIGF1dGhfZGlnZXN0X21vZHVsZSBtb2R1
bGVzL21vZF9hdXRoX2RpZ2VzdC5zbworTG9hZE1vZHVsZSBhdXRobl9maWxlX21vZHVsZSBtb2R1
bGVzL21vZF9hdXRobl9maWxlLnNvCitMb2FkTW9kdWxlIGF1dGhuX2FsaWFzX21vZHVsZSBtb2R1
bGVzL21vZF9hdXRobl9hbGlhcy5zbworTG9hZE1vZHVsZSBhdXRobl9hbm9uX21vZHVsZSBtb2R1
bGVzL21vZF9hdXRobl9hbm9uLnNvCitMb2FkTW9kdWxlIGF1dGhuX2RibV9tb2R1bGUgbW9kdWxl
cy9tb2RfYXV0aG5fZGJtLnNvCitMb2FkTW9kdWxlIGF1dGhuX2RlZmF1bHRfbW9kdWxlIG1vZHVs
ZXMvbW9kX2F1dGhuX2RlZmF1bHQuc28KK0xvYWRNb2R1bGUgYXV0aHpfaG9zdF9tb2R1bGUgbW9k
dWxlcy9tb2RfYXV0aHpfaG9zdC5zbworTG9hZE1vZHVsZSBhdXRoel91c2VyX21vZHVsZSBtb2R1
bGVzL21vZF9hdXRoel91c2VyLnNvCitMb2FkTW9kdWxlIGF1dGh6X293bmVyX21vZHVsZSBtb2R1
bGVzL21vZF9hdXRoel9vd25lci5zbworTG9hZE1vZHVsZSBhdXRoel9ncm91cGZpbGVfbW9kdWxl
IG1vZHVsZXMvbW9kX2F1dGh6X2dyb3VwZmlsZS5zbworTG9hZE1vZHVsZSBhdXRoel9kYm1fbW9k
dWxlIG1vZHVsZXMvbW9kX2F1dGh6X2RibS5zbworTG9hZE1vZHVsZSBhdXRoel9kZWZhdWx0X21v
ZHVsZSBtb2R1bGVzL21vZF9hdXRoel9kZWZhdWx0LnNvCitMb2FkTW9kdWxlIGxkYXBfbW9kdWxl
IG1vZHVsZXMvbW9kX2xkYXAuc28KK0xvYWRNb2R1bGUgYXV0aG56X2xkYXBfbW9kdWxlIG1vZHVs
ZXMvbW9kX2F1dGhuel9sZGFwLnNvCitMb2FkTW9kdWxlIGluY2x1ZGVfbW9kdWxlIG1vZHVsZXMv
bW9kX2luY2x1ZGUuc28KK0xvYWRNb2R1bGUgbG9nX2NvbmZpZ19tb2R1bGUgbW9kdWxlcy9tb2Rf
bG9nX2NvbmZpZy5zbworTG9hZE1vZHVsZSBsb2dpb19tb2R1bGUgbW9kdWxlcy9tb2RfbG9naW8u
c28KK0xvYWRNb2R1bGUgZW52X21vZHVsZSBtb2R1bGVzL21vZF9lbnYuc28KK0xvYWRNb2R1bGUg
ZXh0X2ZpbHRlcl9tb2R1bGUgbW9kdWxlcy9tb2RfZXh0X2ZpbHRlci5zbworTG9hZE1vZHVsZSBt
aW1lX21hZ2ljX21vZHVsZSBtb2R1bGVzL21vZF9taW1lX21hZ2ljLnNvCitMb2FkTW9kdWxlIGV4
cGlyZXNfbW9kdWxlIG1vZHVsZXMvbW9kX2V4cGlyZXMuc28KK0xvYWRNb2R1bGUgZGVmbGF0ZV9t
b2R1bGUgbW9kdWxlcy9tb2RfZGVmbGF0ZS5zbworTG9hZE1vZHVsZSBoZWFkZXJzX21vZHVsZSBt
b2R1bGVzL21vZF9oZWFkZXJzLnNvCitMb2FkTW9kdWxlIHVzZXJ0cmFja19tb2R1bGUgbW9kdWxl
cy9tb2RfdXNlcnRyYWNrLnNvCitMb2FkTW9kdWxlIHNldGVudmlmX21vZHVsZSBtb2R1bGVzL21v
ZF9zZXRlbnZpZi5zbworTG9hZE1vZHVsZSBtaW1lX21vZHVsZSBtb2R1bGVzL21vZF9taW1lLnNv
CitMb2FkTW9kdWxlIGRhdl9tb2R1bGUgbW9kdWxlcy9tb2RfZGF2LnNvCitMb2FkTW9kdWxlIHN0
YXR1c19tb2R1bGUgbW9kdWxlcy9tb2Rfc3RhdHVzLnNvCitMb2FkTW9kdWxlIGF1dG9pbmRleF9t
b2R1bGUgbW9kdWxlcy9tb2RfYXV0b2luZGV4LnNvCitMb2FkTW9kdWxlIGluZm9fbW9kdWxlIG1v
ZHVsZXMvbW9kX2luZm8uc28KK0xvYWRNb2R1bGUgZGF2X2ZzX21vZHVsZSBtb2R1bGVzL21vZF9k
YXZfZnMuc28KK0xvYWRNb2R1bGUgdmhvc3RfYWxpYXNfbW9kdWxlIG1vZHVsZXMvbW9kX3Zob3N0
X2FsaWFzLnNvCitMb2FkTW9kdWxlIG5lZ290aWF0aW9uX21vZHVsZSBtb2R1bGVzL21vZF9uZWdv
dGlhdGlvbi5zbworTG9hZE1vZHVsZSBkaXJfbW9kdWxlIG1vZHVsZXMvbW9kX2Rpci5zbworTG9h
ZE1vZHVsZSBhY3Rpb25zX21vZHVsZSBtb2R1bGVzL21vZF9hY3Rpb25zLnNvCitMb2FkTW9kdWxl
IHNwZWxpbmdfbW9kdWxlIG1vZHVsZXMvbW9kX3NwZWxpbmcuc28KK0xvYWRNb2R1bGUgdXNlcmRp
cl9tb2R1bGUgbW9kdWxlcy9tb2RfdXNlcmRpci5zbworTG9hZE1vZHVsZSBhbGlhc19tb2R1bGUg
bW9kdWxlcy9tb2RfYWxpYXMuc28KK0xvYWRNb2R1bGUgcmV3cml0ZV9tb2R1bGUgbW9kdWxlcy9t
b2RfcmV3cml0ZS5zbworTG9hZE1vZHVsZSBwcm94eV9tb2R1bGUgbW9kdWxlcy9tb2RfcHJveHku
c28KK0xvYWRNb2R1bGUgcHJveHlfYmFsYW5jZXJfbW9kdWxlIG1vZHVsZXMvbW9kX3Byb3h5X2Jh
bGFuY2VyLnNvCitMb2FkTW9kdWxlIHByb3h5X2Z0cF9tb2R1bGUgbW9kdWxlcy9tb2RfcHJveHlf
ZnRwLnNvCitMb2FkTW9kdWxlIHByb3h5X2h0dHBfbW9kdWxlIG1vZHVsZXMvbW9kX3Byb3h5X2h0
dHAuc28KK0xvYWRNb2R1bGUgcHJveHlfY29ubmVjdF9tb2R1bGUgbW9kdWxlcy9tb2RfcHJveHlf
Y29ubmVjdC5zbworTG9hZE1vZHVsZSBjYWNoZV9tb2R1bGUgbW9kdWxlcy9tb2RfY2FjaGUuc28K
K0xvYWRNb2R1bGUgc3VleGVjX21vZHVsZSBtb2R1bGVzL21vZF9zdWV4ZWMuc28KK0xvYWRNb2R1
bGUgZGlza19jYWNoZV9tb2R1bGUgbW9kdWxlcy9tb2RfZGlza19jYWNoZS5zbworTG9hZE1vZHVs
ZSBmaWxlX2NhY2hlX21vZHVsZSBtb2R1bGVzL21vZF9maWxlX2NhY2hlLnNvCitMb2FkTW9kdWxl
IG1lbV9jYWNoZV9tb2R1bGUgbW9kdWxlcy9tb2RfbWVtX2NhY2hlLnNvCitMb2FkTW9kdWxlIGNn
aV9tb2R1bGUgbW9kdWxlcy9tb2RfY2dpLnNvCitMb2FkTW9kdWxlIHNzbF9tb2R1bGUgbW9kdWxl
cy9tb2Rfc3NsLnNvCitMb2FkTW9kdWxlIHBocDVfbW9kdWxlIG1vZHVsZXMvbGlicGhwNS5zbwor
CisjCisjIFRoZSBmb2xsb3dpbmcgbW9kdWxlcyBhcmUgbm90IGxvYWRlZCBieSBkZWZhdWx0Ogor
IworI0xvYWRNb2R1bGUgY2Vybl9tZXRhX21vZHVsZSBtb2R1bGVzL21vZF9jZXJuX21ldGEuc28K
KyNMb2FkTW9kdWxlIGFzaXNfbW9kdWxlIG1vZHVsZXMvbW9kX2FzaXMuc28KKworIworIyBMb2Fk
IGNvbmZpZyBmaWxlcyBmcm9tIHRoZSBjb25maWcgZGlyZWN0b3J5ICIvZXRjL2h0dHBkL2NvbmYu
ZCIuCisjCisjSW5jbHVkZSBjb25mLmQvKi5jb25mCisKKyMKKyMgRXh0ZW5kZWRTdGF0dXMgY29u
dHJvbHMgd2hldGhlciBBcGFjaGUgd2lsbCBnZW5lcmF0ZSAiZnVsbCIgc3RhdHVzCisjIGluZm9y
bWF0aW9uIChFeHRlbmRlZFN0YXR1cyBPbikgb3IganVzdCBiYXNpYyBpbmZvcm1hdGlvbiAoRXh0
ZW5kZWRTdGF0dXMKKyMgT2ZmKSB3aGVuIHRoZSAic2VydmVyLXN0YXR1cyIgaGFuZGxlciBpcyBj
YWxsZWQuIFRoZSBkZWZhdWx0IGlzIE9mZi4KKyMKKyNFeHRlbmRlZFN0YXR1cyBPbgorCisjCisj
IElmIHlvdSB3aXNoIGh0dHBkIHRvIHJ1biBhcyBhIGRpZmZlcmVudCB1c2VyIG9yIGdyb3VwLCB5
b3UgbXVzdCBydW4KKyMgaHR0cGQgYXMgcm9vdCBpbml0aWFsbHkgYW5kIGl0IHdpbGwgc3dpdGNo
LiAgCisjCisjIFVzZXIvR3JvdXA6IFRoZSBuYW1lIChvciAjbnVtYmVyKSBvZiB0aGUgdXNlci9n
cm91cCB0byBydW4gaHR0cGQgYXMuCisjICAuIE9uIFNDTyAoT0RUIDMpIHVzZSAiVXNlciBub3Vz
ZXIiIGFuZCAiR3JvdXAgbm9ncm91cCIuCisjICAuIE9uIEhQVVggeW91IG1heSBub3QgYmUgYWJs
ZSB0byB1c2Ugc2hhcmVkIG1lbW9yeSBhcyBub2JvZHksIGFuZCB0aGUKKyMgICAgc3VnZ2VzdGVk
IHdvcmthcm91bmQgaXMgdG8gY3JlYXRlIGEgdXNlciB3d3cgYW5kIHVzZSB0aGF0IHVzZXIuCisj
ICBOT1RFIHRoYXQgc29tZSBrZXJuZWxzIHJlZnVzZSB0byBzZXRnaWQoR3JvdXApIG9yIHNlbWN0
bChJUENfU0VUKQorIyAgd2hlbiB0aGUgdmFsdWUgb2YgKHVuc2lnbmVkKUdyb3VwIGlzIGFib3Zl
IDYwMDAwOyAKKyMgIGRvbid0IHVzZSBHcm91cCAjLTEgb24gdGhlc2Ugc3lzdGVtcyEKKyMKK1Vz
ZXIgYXBhY2hlCitHcm91cCBhcGFjaGUKKworIyMjIFNlY3Rpb24gMjogJ01haW4nIHNlcnZlciBj
b25maWd1cmF0aW9uCisjCisjIFRoZSBkaXJlY3RpdmVzIGluIHRoaXMgc2VjdGlvbiBzZXQgdXAg
dGhlIHZhbHVlcyB1c2VkIGJ5IHRoZSAnbWFpbicKKyMgc2VydmVyLCB3aGljaCByZXNwb25kcyB0
byBhbnkgcmVxdWVzdHMgdGhhdCBhcmVuJ3QgaGFuZGxlZCBieSBhCisjIDxWaXJ0dWFsSG9zdD4g
ZGVmaW5pdGlvbi4gIFRoZXNlIHZhbHVlcyBhbHNvIHByb3ZpZGUgZGVmYXVsdHMgZm9yCisjIGFu
eSA8VmlydHVhbEhvc3Q+IGNvbnRhaW5lcnMgeW91IG1heSBkZWZpbmUgbGF0ZXIgaW4gdGhlIGZp
bGUuCisjCisjIEFsbCBvZiB0aGVzZSBkaXJlY3RpdmVzIG1heSBhcHBlYXIgaW5zaWRlIDxWaXJ0
dWFsSG9zdD4gY29udGFpbmVycywKKyMgaW4gd2hpY2ggY2FzZSB0aGVzZSBkZWZhdWx0IHNldHRp
bmdzIHdpbGwgYmUgb3ZlcnJpZGRlbiBmb3IgdGhlCisjIHZpcnR1YWwgaG9zdCBiZWluZyBkZWZp
bmVkLgorIworCisjCisjIFNlcnZlckFkbWluOiBZb3VyIGFkZHJlc3MsIHdoZXJlIHByb2JsZW1z
IHdpdGggdGhlIHNlcnZlciBzaG91bGQgYmUKKyMgZS1tYWlsZWQuICBUaGlzIGFkZHJlc3MgYXBw
ZWFycyBvbiBzb21lIHNlcnZlci1nZW5lcmF0ZWQgcGFnZXMsIHN1Y2gKKyMgYXMgZXJyb3IgZG9j
dW1lbnRzLiAgZS5nLiBhZG1pbkB5b3VyLWRvbWFpbi5jb20KKyMKK1NlcnZlckFkbWluIHJvb3RA
bG9jYWxob3N0CisKKyMKKyMgU2VydmVyTmFtZSBnaXZlcyB0aGUgbmFtZSBhbmQgcG9ydCB0aGF0
IHRoZSBzZXJ2ZXIgdXNlcyB0byBpZGVudGlmeSBpdHNlbGYuCisjIFRoaXMgY2FuIG9mdGVuIGJl
IGRldGVybWluZWQgYXV0b21hdGljYWxseSwgYnV0IHdlIHJlY29tbWVuZCB5b3Ugc3BlY2lmeQor
IyBpdCBleHBsaWNpdGx5IHRvIHByZXZlbnQgcHJvYmxlbXMgZHVyaW5nIHN0YXJ0dXAuCisjCisj
IElmIHRoaXMgaXMgbm90IHNldCB0byB2YWxpZCBETlMgbmFtZSBmb3IgeW91ciBob3N0LCBzZXJ2
ZXItZ2VuZXJhdGVkCisjIHJlZGlyZWN0aW9ucyB3aWxsIG5vdCB3b3JrLiAgU2VlIGFsc28gdGhl
IFVzZUNhbm9uaWNhbE5hbWUgZGlyZWN0aXZlLgorIworIyBJZiB5b3VyIGhvc3QgZG9lc24ndCBo
YXZlIGEgcmVnaXN0ZXJlZCBETlMgbmFtZSwgZW50ZXIgaXRzIElQIGFkZHJlc3MgaGVyZS4KKyMg
WW91IHdpbGwgaGF2ZSB0byBhY2Nlc3MgaXQgYnkgaXRzIGFkZHJlc3MgYW55d2F5LCBhbmQgdGhp
cyB3aWxsIG1ha2UgCisjIHJlZGlyZWN0aW9ucyB3b3JrIGluIGEgc2Vuc2libGUgd2F5LgorIwor
U2VydmVyTmFtZSAxMjcuMC4wLjEKKworIworIyBVc2VDYW5vbmljYWxOYW1lOiBEZXRlcm1pbmVz
IGhvdyBBcGFjaGUgY29uc3RydWN0cyBzZWxmLXJlZmVyZW5jaW5nIAorIyBVUkxzIGFuZCB0aGUg
U0VSVkVSX05BTUUgYW5kIFNFUlZFUl9QT1JUIHZhcmlhYmxlcy4KKyMgV2hlbiBzZXQgIk9mZiIs
IEFwYWNoZSB3aWxsIHVzZSB0aGUgSG9zdG5hbWUgYW5kIFBvcnQgc3VwcGxpZWQKKyMgYnkgdGhl
IGNsaWVudC4gIFdoZW4gc2V0ICJPbiIsIEFwYWNoZSB3aWxsIHVzZSB0aGUgdmFsdWUgb2YgdGhl
CisjIFNlcnZlck5hbWUgZGlyZWN0aXZlLgorIworVXNlQ2Fub25pY2FsTmFtZSBPbgorCisjCisj
IERvY3VtZW50Um9vdDogVGhlIGRpcmVjdG9yeSBvdXQgb2Ygd2hpY2ggeW91IHdpbGwgc2VydmUg
eW91cgorIyBkb2N1bWVudHMuIEJ5IGRlZmF1bHQsIGFsbCByZXF1ZXN0cyBhcmUgdGFrZW4gZnJv
bSB0aGlzIGRpcmVjdG9yeSwgYnV0CisjIHN5bWJvbGljIGxpbmtzIGFuZCBhbGlhc2VzIG1heSBi
ZSB1c2VkIHRvIHBvaW50IHRvIG90aGVyIGxvY2F0aW9ucy4KKyMKKyNEb2N1bWVudFJvb3QgIi92
YXIvd3d3L2h0bWwiCisKKyMKKyMgRWFjaCBkaXJlY3RvcnkgdG8gd2hpY2ggQXBhY2hlIGhhcyBh
Y2Nlc3MgY2FuIGJlIGNvbmZpZ3VyZWQgd2l0aCByZXNwZWN0CisjIHRvIHdoaWNoIHNlcnZpY2Vz
IGFuZCBmZWF0dXJlcyBhcmUgYWxsb3dlZCBhbmQvb3IgZGlzYWJsZWQgaW4gdGhhdAorIyBkaXJl
Y3RvcnkgKGFuZCBpdHMgc3ViZGlyZWN0b3JpZXMpLiAKKyMKKyMgRmlyc3QsIHdlIGNvbmZpZ3Vy
ZSB0aGUgImRlZmF1bHQiIHRvIGJlIGEgdmVyeSByZXN0cmljdGl2ZSBzZXQgb2YgCisjIGZlYXR1
cmVzLiAgCisjCis8RGlyZWN0b3J5IC8+CisgICAgT3B0aW9ucyBGb2xsb3dTeW1MaW5rcworICAg
IEFsbG93T3ZlcnJpZGUgTm9uZQorPC9EaXJlY3Rvcnk+CisKKyMKKyMgTm90ZSB0aGF0IGZyb20g
dGhpcyBwb2ludCBmb3J3YXJkIHlvdSBtdXN0IHNwZWNpZmljYWxseSBhbGxvdworIyBwYXJ0aWN1
bGFyIGZlYXR1cmVzIHRvIGJlIGVuYWJsZWQgLSBzbyBpZiBzb21ldGhpbmcncyBub3Qgd29ya2lu
ZyBhcworIyB5b3UgbWlnaHQgZXhwZWN0LCBtYWtlIHN1cmUgdGhhdCB5b3UgaGF2ZSBzcGVjaWZp
Y2FsbHkgZW5hYmxlZCBpdAorIyBiZWxvdy4KKyMKKworIworIyBUaGlzIHNob3VsZCBiZSBjaGFu
Z2VkIHRvIHdoYXRldmVyIHlvdSBzZXQgRG9jdW1lbnRSb290IHRvLgorIworPERpcmVjdG9yeSAi
L3Zhci93d3cvaHRtbCI+CisKKyMKKyMgUG9zc2libGUgdmFsdWVzIGZvciB0aGUgT3B0aW9ucyBk
aXJlY3RpdmUgYXJlICJOb25lIiwgIkFsbCIsCisjIG9yIGFueSBjb21iaW5hdGlvbiBvZjoKKyMg
ICBJbmRleGVzIEluY2x1ZGVzIEZvbGxvd1N5bUxpbmtzIFN5bUxpbmtzaWZPd25lck1hdGNoIEV4
ZWNDR0kgTXVsdGlWaWV3cworIworIyBOb3RlIHRoYXQgIk11bHRpVmlld3MiIG11c3QgYmUgbmFt
ZWQgKmV4cGxpY2l0bHkqIC0tLSAiT3B0aW9ucyBBbGwiCisjIGRvZXNuJ3QgZ2l2ZSBpdCB0byB5
b3UuCisjCisjIFRoZSBPcHRpb25zIGRpcmVjdGl2ZSBpcyBib3RoIGNvbXBsaWNhdGVkIGFuZCBp
bXBvcnRhbnQuICBQbGVhc2Ugc2VlCisjIGh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvMi4y
L21vZC9jb3JlLmh0bWwjb3B0aW9ucworIyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKyMKKyAgICBP
cHRpb25zIEluZGV4ZXMgRm9sbG93U3ltTGlua3MKKworIworIyBBbGxvd092ZXJyaWRlIGNvbnRy
b2xzIHdoYXQgZGlyZWN0aXZlcyBtYXkgYmUgcGxhY2VkIGluIC5odGFjY2VzcyBmaWxlcy4KKyMg
SXQgY2FuIGJlICJBbGwiLCAiTm9uZSIsIG9yIGFueSBjb21iaW5hdGlvbiBvZiB0aGUga2V5d29y
ZHM6CisjICAgT3B0aW9ucyBGaWxlSW5mbyBBdXRoQ29uZmlnIExpbWl0CisjCisgICAgQWxsb3dP
dmVycmlkZSBOb25lCisKKyMKKyMgQ29udHJvbHMgd2hvIGNhbiBnZXQgc3R1ZmYgZnJvbSB0aGlz
IHNlcnZlci4KKyMKKyAgICBPcmRlciBhbGxvdyxkZW55CisgICAgQWxsb3cgZnJvbSBhbGwKKwor
PC9EaXJlY3Rvcnk+CisKKyMKKyMgVXNlckRpcjogVGhlIG5hbWUgb2YgdGhlIGRpcmVjdG9yeSB0
aGF0IGlzIGFwcGVuZGVkIG9udG8gYSB1c2VyJ3MgaG9tZQorIyBkaXJlY3RvcnkgaWYgYSB+dXNl
ciByZXF1ZXN0IGlzIHJlY2VpdmVkLgorIworIyBUaGUgcGF0aCB0byB0aGUgZW5kIHVzZXIgYWNj
b3VudCAncHVibGljX2h0bWwnIGRpcmVjdG9yeSBtdXN0IGJlCisjIGFjY2Vzc2libGUgdG8gdGhl
IHdlYnNlcnZlciB1c2VyaWQuICBUaGlzIHVzdWFsbHkgbWVhbnMgdGhhdCB+dXNlcmlkCisjIG11
c3QgaGF2ZSBwZXJtaXNzaW9ucyBvZiA3MTEsIH51c2VyaWQvcHVibGljX2h0bWwgbXVzdCBoYXZl
IHBlcm1pc3Npb25zCisjIG9mIDc1NSwgYW5kIGRvY3VtZW50cyBjb250YWluZWQgdGhlcmVpbiBt
dXN0IGJlIHdvcmxkLXJlYWRhYmxlLgorIyBPdGhlcndpc2UsIHRoZSBjbGllbnQgd2lsbCBvbmx5
IHJlY2VpdmUgYSAiNDAzIEZvcmJpZGRlbiIgbWVzc2FnZS4KKyMKKyMgU2VlIGFsc286IGh0dHA6
Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvbWlzYy9GQVEuaHRtbCNmb3JiaWRkZW4KKyMKKzxJZk1v
ZHVsZSBtb2RfdXNlcmRpci5jPgorICAgICMKKyAgICAjIFVzZXJEaXIgaXMgZGlzYWJsZWQgYnkg
ZGVmYXVsdCBzaW5jZSBpdCBjYW4gY29uZmlybSB0aGUgcHJlc2VuY2UKKyAgICAjIG9mIGEgdXNl
cm5hbWUgb24gdGhlIHN5c3RlbSAoZGVwZW5kaW5nIG9uIGhvbWUgZGlyZWN0b3J5CisgICAgIyBw
ZXJtaXNzaW9ucykuCisgICAgIworICAgIFVzZXJEaXIgZGlzYWJsZWQKKworICAgICMKKyAgICAj
IFRvIGVuYWJsZSByZXF1ZXN0cyB0byAvfnVzZXIvIHRvIHNlcnZlIHRoZSB1c2VyJ3MgcHVibGlj
X2h0bWwKKyAgICAjIGRpcmVjdG9yeSwgcmVtb3ZlIHRoZSAiVXNlckRpciBkaXNhYmxlZCIgbGlu
ZSBhYm92ZSwgYW5kIHVuY29tbWVudAorICAgICMgdGhlIGZvbGxvd2luZyBsaW5lIGluc3RlYWQ6
CisgICAgIyAKKyAgICAjVXNlckRpciBwdWJsaWNfaHRtbAorCis8L0lmTW9kdWxlPgorCisjCisj
IENvbnRyb2wgYWNjZXNzIHRvIFVzZXJEaXIgZGlyZWN0b3JpZXMuICBUaGUgZm9sbG93aW5nIGlz
IGFuIGV4YW1wbGUKKyMgZm9yIGEgc2l0ZSB3aGVyZSB0aGVzZSBkaXJlY3RvcmllcyBhcmUgcmVz
dHJpY3RlZCB0byByZWFkLW9ubHkuCisjCisjPERpcmVjdG9yeSAvaG9tZS8qL3B1YmxpY19odG1s
PgorIyAgICBBbGxvd092ZXJyaWRlIEZpbGVJbmZvIEF1dGhDb25maWcgTGltaXQKKyMgICAgT3B0
aW9ucyBNdWx0aVZpZXdzIEluZGV4ZXMgU3ltTGlua3NJZk93bmVyTWF0Y2ggSW5jbHVkZXNOb0V4
ZWMKKyMgICAgPExpbWl0IEdFVCBQT1NUIE9QVElPTlM+CisjICAgICAgICBPcmRlciBhbGxvdyxk
ZW55CisjICAgICAgICBBbGxvdyBmcm9tIGFsbAorIyAgICA8L0xpbWl0PgorIyAgICA8TGltaXRF
eGNlcHQgR0VUIFBPU1QgT1BUSU9OUz4KKyMgICAgICAgIE9yZGVyIGRlbnksYWxsb3cKKyMgICAg
ICAgIERlbnkgZnJvbSBhbGwKKyMgICAgPC9MaW1pdEV4Y2VwdD4KKyM8L0RpcmVjdG9yeT4KKwor
IworIyBEaXJlY3RvcnlJbmRleDogc2V0cyB0aGUgZmlsZSB0aGF0IEFwYWNoZSB3aWxsIHNlcnZl
IGlmIGEgZGlyZWN0b3J5CisjIGlzIHJlcXVlc3RlZC4KKyMKKyMgVGhlIGluZGV4Lmh0bWwudmFy
IGZpbGUgKGEgdHlwZS1tYXApIGlzIHVzZWQgdG8gZGVsaXZlciBjb250ZW50LQorIyBuZWdvdGlh
dGVkIGRvY3VtZW50cy4gIFRoZSBNdWx0aVZpZXdzIE9wdGlvbiBjYW4gYmUgdXNlZCBmb3IgdGhl
IAorIyBzYW1lIHB1cnBvc2UsIGJ1dCBpdCBpcyBtdWNoIHNsb3dlci4KKyMKK0RpcmVjdG9yeUlu
ZGV4IGluZGV4Lmh0bWwgaW5kZXguaHRtbC52YXIKKworIworIyBBY2Nlc3NGaWxlTmFtZTogVGhl
IG5hbWUgb2YgdGhlIGZpbGUgdG8gbG9vayBmb3IgaW4gZWFjaCBkaXJlY3RvcnkKKyMgZm9yIGFk
ZGl0aW9uYWwgY29uZmlndXJhdGlvbiBkaXJlY3RpdmVzLiAgU2VlIGFsc28gdGhlIEFsbG93T3Zl
cnJpZGUKKyMgZGlyZWN0aXZlLgorIworQWNjZXNzRmlsZU5hbWUgLmh0YWNjZXNzCisKKyMKKyMg
VGhlIGZvbGxvd2luZyBsaW5lcyBwcmV2ZW50IC5odGFjY2VzcyBhbmQgLmh0cGFzc3dkIGZpbGVz
IGZyb20gYmVpbmcgCisjIHZpZXdlZCBieSBXZWIgY2xpZW50cy4gCisjCis8RmlsZXMgfiAiXlwu
aHQiPgorICAgIE9yZGVyIGFsbG93LGRlbnkKKyAgICBEZW55IGZyb20gYWxsCis8L0ZpbGVzPgor
CisjCisjIFR5cGVzQ29uZmlnIGRlc2NyaWJlcyB3aGVyZSB0aGUgbWltZS50eXBlcyBmaWxlIChv
ciBlcXVpdmFsZW50KSBpcworIyB0byBiZSBmb3VuZC4KKyMKK1R5cGVzQ29uZmlnIC9ldGMvbWlt
ZS50eXBlcworCisjCisjIERlZmF1bHRUeXBlIGlzIHRoZSBkZWZhdWx0IE1JTUUgdHlwZSB0aGUg
c2VydmVyIHdpbGwgdXNlIGZvciBhIGRvY3VtZW50CisjIGlmIGl0IGNhbm5vdCBvdGhlcndpc2Ug
ZGV0ZXJtaW5lIG9uZSwgc3VjaCBhcyBmcm9tIGZpbGVuYW1lIGV4dGVuc2lvbnMuCisjIElmIHlv
dXIgc2VydmVyIGNvbnRhaW5zIG1vc3RseSB0ZXh0IG9yIEhUTUwgZG9jdW1lbnRzLCAidGV4dC9w
bGFpbiIgaXMKKyMgYSBnb29kIHZhbHVlLiAgSWYgbW9zdCBvZiB5b3VyIGNvbnRlbnQgaXMgYmlu
YXJ5LCBzdWNoIGFzIGFwcGxpY2F0aW9ucworIyBvciBpbWFnZXMsIHlvdSBtYXkgd2FudCB0byB1
c2UgImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIgaW5zdGVhZCB0bworIyBrZWVwIGJyb3dzZXJz
IGZyb20gdHJ5aW5nIHRvIGRpc3BsYXkgYmluYXJ5IGZpbGVzIGFzIHRob3VnaCB0aGV5IGFyZQor
IyB0ZXh0LgorIworRGVmYXVsdFR5cGUgdGV4dC9wbGFpbgorCisjCisjIFRoZSBtb2RfbWltZV9t
YWdpYyBtb2R1bGUgYWxsb3dzIHRoZSBzZXJ2ZXIgdG8gdXNlIHZhcmlvdXMgaGludHMgZnJvbSB0
aGUKKyMgY29udGVudHMgb2YgdGhlIGZpbGUgaXRzZWxmIHRvIGRldGVybWluZSBpdHMgdHlwZS4g
IFRoZSBNSU1FTWFnaWNGaWxlCisjIGRpcmVjdGl2ZSB0ZWxscyB0aGUgbW9kdWxlIHdoZXJlIHRo
ZSBoaW50IGRlZmluaXRpb25zIGFyZSBsb2NhdGVkLgorIworPElmTW9kdWxlIG1vZF9taW1lX21h
Z2ljLmM+CisjICAgTUlNRU1hZ2ljRmlsZSAvdXNyL3NoYXJlL21hZ2ljLm1pbWUKKyAgICBNSU1F
TWFnaWNGaWxlIGNvbmYvbWFnaWMKKzwvSWZNb2R1bGU+CisKKyMKKyMgSG9zdG5hbWVMb29rdXBz
OiBMb2cgdGhlIG5hbWVzIG9mIGNsaWVudHMgb3IganVzdCB0aGVpciBJUCBhZGRyZXNzZXMKKyMg
ZS5nLiwgd3d3LmFwYWNoZS5vcmcgKG9uKSBvciAyMDQuNjIuMTI5LjEzMiAob2ZmKS4KKyMgVGhl
IGRlZmF1bHQgaXMgb2ZmIGJlY2F1c2UgaXQnZCBiZSBvdmVyYWxsIGJldHRlciBmb3IgdGhlIG5l
dCBpZiBwZW9wbGUKKyMgaGFkIHRvIGtub3dpbmdseSB0dXJuIHRoaXMgZmVhdHVyZSBvbiwgc2lu
Y2UgZW5hYmxpbmcgaXQgbWVhbnMgdGhhdAorIyBlYWNoIGNsaWVudCByZXF1ZXN0IHdpbGwgcmVz
dWx0IGluIEFUIExFQVNUIG9uZSBsb29rdXAgcmVxdWVzdCB0byB0aGUKKyMgbmFtZXNlcnZlci4K
KyMKK0hvc3RuYW1lTG9va3VwcyBPZmYKKworIworIyBFbmFibGVNTUFQOiBDb250cm9sIHdoZXRo
ZXIgbWVtb3J5LW1hcHBpbmcgaXMgdXNlZCB0byBkZWxpdmVyCisjIGZpbGVzIChhc3N1bWluZyB0
aGF0IHRoZSB1bmRlcmx5aW5nIE9TIHN1cHBvcnRzIGl0KS4KKyMgVGhlIGRlZmF1bHQgaXMgb247
IHR1cm4gdGhpcyBvZmYgaWYgeW91IHNlcnZlIGZyb20gTkZTLW1vdW50ZWQgCisjIGZpbGVzeXN0
ZW1zLiAgT24gc29tZSBzeXN0ZW1zLCB0dXJuaW5nIGl0IG9mZiAocmVnYXJkbGVzcyBvZgorIyBm
aWxlc3lzdGVtKSBjYW4gaW1wcm92ZSBwZXJmb3JtYW5jZTsgZm9yIGRldGFpbHMsIHBsZWFzZSBz
ZWUKKyMgaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjIvbW9kL2NvcmUuaHRtbCNlbmFi
bGVtbWFwCisjCisjRW5hYmxlTU1BUCBvZmYKKworIworIyBFbmFibGVTZW5kZmlsZTogQ29udHJv
bCB3aGV0aGVyIHRoZSBzZW5kZmlsZSBrZXJuZWwgc3VwcG9ydCBpcyAKKyMgdXNlZCB0byBkZWxp
dmVyIGZpbGVzIChhc3N1bWluZyB0aGF0IHRoZSBPUyBzdXBwb3J0cyBpdCkuIAorIyBUaGUgZGVm
YXVsdCBpcyBvbjsgdHVybiB0aGlzIG9mZiBpZiB5b3Ugc2VydmUgZnJvbSBORlMtbW91bnRlZCAK
KyMgZmlsZXN5c3RlbXMuICBQbGVhc2Ugc2VlCisjIGh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2Rv
Y3MvMi4yL21vZC9jb3JlLmh0bWwjZW5hYmxlc2VuZGZpbGUKKyMKKyNFbmFibGVTZW5kZmlsZSBv
ZmYKKworIworIyBFcnJvckxvZzogVGhlIGxvY2F0aW9uIG9mIHRoZSBlcnJvciBsb2cgZmlsZS4K
KyMgSWYgeW91IGRvIG5vdCBzcGVjaWZ5IGFuIEVycm9yTG9nIGRpcmVjdGl2ZSB3aXRoaW4gYSA8
VmlydHVhbEhvc3Q+CisjIGNvbnRhaW5lciwgZXJyb3IgbWVzc2FnZXMgcmVsYXRpbmcgdG8gdGhh
dCB2aXJ0dWFsIGhvc3Qgd2lsbCBiZQorIyBsb2dnZWQgaGVyZS4gIElmIHlvdSAqZG8qIGRlZmlu
ZSBhbiBlcnJvciBsb2dmaWxlIGZvciBhIDxWaXJ0dWFsSG9zdD4KKyMgY29udGFpbmVyLCB0aGF0
IGhvc3QncyBlcnJvcnMgd2lsbCBiZSBsb2dnZWQgdGhlcmUgYW5kIG5vdCBoZXJlLgorIworRXJy
b3JMb2cgL3RtcC9XZWJLaXQvZXJyb3JfbG9nCisKKyMKKyMgTG9nTGV2ZWw6IENvbnRyb2wgdGhl
IG51bWJlciBvZiBtZXNzYWdlcyBsb2dnZWQgdG8gdGhlIGVycm9yX2xvZy4KKyMgUG9zc2libGUg
dmFsdWVzIGluY2x1ZGU6IGRlYnVnLCBpbmZvLCBub3RpY2UsIHdhcm4sIGVycm9yLCBjcml0LAor
IyBhbGVydCwgZW1lcmcuCisjCitMb2dMZXZlbCB3YXJuCisKKyMKKyMgVGhlIGZvbGxvd2luZyBk
aXJlY3RpdmVzIGRlZmluZSBzb21lIGZvcm1hdCBuaWNrbmFtZXMgZm9yIHVzZSB3aXRoCisjIGEg
Q3VzdG9tTG9nIGRpcmVjdGl2ZSAoc2VlIGJlbG93KS4KKyMKK0xvZ0Zvcm1hdCAiJWggJWwgJXUg
JXQgXCIlclwiICU+cyAlYiBcIiV7UmVmZXJlcn1pXCIgXCIle1VzZXItQWdlbnR9aVwiIiBjb21i
aW5lZAorTG9nRm9ybWF0ICIlaCAlbCAldSAldCBcIiVyXCIgJT5zICViIiBjb21tb24KK0xvZ0Zv
cm1hdCAiJXtSZWZlcmVyfWkgLT4gJVUiIHJlZmVyZXIKK0xvZ0Zvcm1hdCAiJXtVc2VyLWFnZW50
fWkiIGFnZW50CisKKyMgImNvbWJpbmVkaW8iIGluY2x1ZGVzIGFjdHVhbCBjb3VudHMgb2YgYWN0
dWFsIGJ5dGVzIHJlY2VpdmVkICglSSkgYW5kIHNlbnQgKCVPKTsgdGhpcworIyByZXF1aXJlcyB0
aGUgbW9kX2xvZ2lvIG1vZHVsZSB0byBiZSBsb2FkZWQuCisjTG9nRm9ybWF0ICIlaCAlbCAldSAl
dCBcIiVyXCIgJT5zICViIFwiJXtSZWZlcmVyfWlcIiBcIiV7VXNlci1BZ2VudH1pXCIgJUkgJU8i
IGNvbWJpbmVkaW8KKworIworIyBUaGUgbG9jYXRpb24gYW5kIGZvcm1hdCBvZiB0aGUgYWNjZXNz
IGxvZ2ZpbGUgKENvbW1vbiBMb2dmaWxlIEZvcm1hdCkuCisjIElmIHlvdSBkbyBub3QgZGVmaW5l
IGFueSBhY2Nlc3MgbG9nZmlsZXMgd2l0aGluIGEgPFZpcnR1YWxIb3N0PgorIyBjb250YWluZXIs
IHRoZXkgd2lsbCBiZSBsb2dnZWQgaGVyZS4gIENvbnRyYXJpd2lzZSwgaWYgeW91ICpkbyoKKyMg
ZGVmaW5lIHBlci08VmlydHVhbEhvc3Q+IGFjY2VzcyBsb2dmaWxlcywgdHJhbnNhY3Rpb25zIHdp
bGwgYmUKKyMgbG9nZ2VkIHRoZXJlaW4gYW5kICpub3QqIGluIHRoaXMgZmlsZS4KKyMKKyNDdXN0
b21Mb2cgbG9ncy9hY2Nlc3NfbG9nIGNvbW1vbgorCisjCisjIElmIHlvdSB3b3VsZCBsaWtlIHRv
IGhhdmUgc2VwYXJhdGUgYWdlbnQgYW5kIHJlZmVyZXIgbG9nZmlsZXMsIHVuY29tbWVudAorIyB0
aGUgZm9sbG93aW5nIGRpcmVjdGl2ZXMuCisjCisjQ3VzdG9tTG9nIGxvZ3MvcmVmZXJlcl9sb2cg
cmVmZXJlcgorI0N1c3RvbUxvZyBsb2dzL2FnZW50X2xvZyBhZ2VudAorCisjCisjIEZvciBhIHNp
bmdsZSBsb2dmaWxlIHdpdGggYWNjZXNzLCBhZ2VudCwgYW5kIHJlZmVyZXIgaW5mb3JtYXRpb24K
KyMgKENvbWJpbmVkIExvZ2ZpbGUgRm9ybWF0KSwgdXNlIHRoZSBmb2xsb3dpbmcgZGlyZWN0aXZl
OgorIworI0N1c3RvbUxvZyBsb2dzL2FjY2Vzc19sb2cgY29tYmluZWQKKworIworIyBPcHRpb25h
bGx5IGFkZCBhIGxpbmUgY29udGFpbmluZyB0aGUgc2VydmVyIHZlcnNpb24gYW5kIHZpcnR1YWwg
aG9zdAorIyBuYW1lIHRvIHNlcnZlci1nZW5lcmF0ZWQgcGFnZXMgKGludGVybmFsIGVycm9yIGRv
Y3VtZW50cywgRlRQIGRpcmVjdG9yeQorIyBsaXN0aW5ncywgbW9kX3N0YXR1cyBhbmQgbW9kX2lu
Zm8gb3V0cHV0IGV0Yy4sIGJ1dCBub3QgQ0dJIGdlbmVyYXRlZAorIyBkb2N1bWVudHMgb3IgY3Vz
dG9tIGVycm9yIGRvY3VtZW50cykuCisjIFNldCB0byAiRU1haWwiIHRvIGFsc28gaW5jbHVkZSBh
IG1haWx0bzogbGluayB0byB0aGUgU2VydmVyQWRtaW4uCisjIFNldCB0byBvbmUgb2Y6ICBPbiB8
IE9mZiB8IEVNYWlsCisjCitTZXJ2ZXJTaWduYXR1cmUgT24KKworIworIyBBbGlhc2VzOiBBZGQg
aGVyZSBhcyBtYW55IGFsaWFzZXMgYXMgeW91IG5lZWQgKHdpdGggbm8gbGltaXQpLiBUaGUgZm9y
bWF0IGlzIAorIyBBbGlhcyBmYWtlbmFtZSByZWFsbmFtZQorIworIyBOb3RlIHRoYXQgaWYgeW91
IGluY2x1ZGUgYSB0cmFpbGluZyAvIG9uIGZha2VuYW1lIHRoZW4gdGhlIHNlcnZlciB3aWxsCisj
IHJlcXVpcmUgaXQgdG8gYmUgcHJlc2VudCBpbiB0aGUgVVJMLiAgU28gIi9pY29ucyIgaXNuJ3Qg
YWxpYXNlZCBpbiB0aGlzCisjIGV4YW1wbGUsIG9ubHkgIi9pY29ucy8iLiAgSWYgdGhlIGZha2Vu
YW1lIGlzIHNsYXNoLXRlcm1pbmF0ZWQsIHRoZW4gdGhlIAorIyByZWFsbmFtZSBtdXN0IGFsc28g
YmUgc2xhc2ggdGVybWluYXRlZCwgYW5kIGlmIHRoZSBmYWtlbmFtZSBvbWl0cyB0aGUgCisjIHRy
YWlsaW5nIHNsYXNoLCB0aGUgcmVhbG5hbWUgbXVzdCBhbHNvIG9taXQgaXQuCisjCisjIFdlIGlu
Y2x1ZGUgdGhlIC9pY29ucy8gYWxpYXMgZm9yIEZhbmN5SW5kZXhlZCBkaXJlY3RvcnkgbGlzdGlu
Z3MuICBJZiB5b3UKKyMgZG8gbm90IHVzZSBGYW5jeUluZGV4aW5nLCB5b3UgbWF5IGNvbW1lbnQg
dGhpcyBvdXQuCisjCitBbGlhcyAvaWNvbnMvICIvdmFyL3d3dy9pY29ucy8iCisKKzxEaXJlY3Rv
cnkgIi92YXIvd3d3L2ljb25zIj4KKyAgICBPcHRpb25zIEluZGV4ZXMgTXVsdGlWaWV3cyBGb2xs
b3dTeW1MaW5rcworICAgIEFsbG93T3ZlcnJpZGUgTm9uZQorICAgIE9yZGVyIGFsbG93LGRlbnkK
KyAgICBBbGxvdyBmcm9tIGFsbAorPC9EaXJlY3Rvcnk+CisKKyMKKyMgV2ViREFWIG1vZHVsZSBj
b25maWd1cmF0aW9uIHNlY3Rpb24uCisjIAorPElmTW9kdWxlIG1vZF9kYXZfZnMuYz4KKyAgICAj
IExvY2F0aW9uIG9mIHRoZSBXZWJEQVYgbG9jayBkYXRhYmFzZS4KKyAgICBEQVZMb2NrREIgL3Zh
ci9saWIvZGF2L2xvY2tkYgorPC9JZk1vZHVsZT4KKworIworIyBTY3JpcHRBbGlhczogVGhpcyBj
b250cm9scyB3aGljaCBkaXJlY3RvcmllcyBjb250YWluIHNlcnZlciBzY3JpcHRzLgorIyBTY3Jp
cHRBbGlhc2VzIGFyZSBlc3NlbnRpYWxseSB0aGUgc2FtZSBhcyBBbGlhc2VzLCBleGNlcHQgdGhh
dAorIyBkb2N1bWVudHMgaW4gdGhlIHJlYWxuYW1lIGRpcmVjdG9yeSBhcmUgdHJlYXRlZCBhcyBh
cHBsaWNhdGlvbnMgYW5kCisjIHJ1biBieSB0aGUgc2VydmVyIHdoZW4gcmVxdWVzdGVkIHJhdGhl
ciB0aGFuIGFzIGRvY3VtZW50cyBzZW50IHRvIHRoZSBjbGllbnQuCisjIFRoZSBzYW1lIHJ1bGVz
IGFib3V0IHRyYWlsaW5nICIvIiBhcHBseSB0byBTY3JpcHRBbGlhcyBkaXJlY3RpdmVzIGFzIHRv
CisjIEFsaWFzLgorIworU2NyaXB0QWxpYXMgL2NnaS1iaW4vICIvdmFyL3d3dy9jZ2ktYmluLyIK
KworIworIyAiL3Zhci93d3cvY2dpLWJpbiIgc2hvdWxkIGJlIGNoYW5nZWQgdG8gd2hhdGV2ZXIg
eW91ciBTY3JpcHRBbGlhc2VkCisjIENHSSBkaXJlY3RvcnkgZXhpc3RzLCBpZiB5b3UgaGF2ZSB0
aGF0IGNvbmZpZ3VyZWQuCisjCis8RGlyZWN0b3J5ICIvdmFyL3d3dy9jZ2ktYmluIj4KKyAgICBB
bGxvd092ZXJyaWRlIE5vbmUKKyAgICBPcHRpb25zIE5vbmUKKyAgICBPcmRlciBhbGxvdyxkZW55
CisgICAgQWxsb3cgZnJvbSBhbGwKKzwvRGlyZWN0b3J5PgorCisjCisjIFJlZGlyZWN0IGFsbG93
cyB5b3UgdG8gdGVsbCBjbGllbnRzIGFib3V0IGRvY3VtZW50cyB3aGljaCB1c2VkIHRvIGV4aXN0
IGluCisjIHlvdXIgc2VydmVyJ3MgbmFtZXNwYWNlLCBidXQgZG8gbm90IGFueW1vcmUuIFRoaXMg
YWxsb3dzIHlvdSB0byB0ZWxsIHRoZQorIyBjbGllbnRzIHdoZXJlIHRvIGxvb2sgZm9yIHRoZSBy
ZWxvY2F0ZWQgZG9jdW1lbnQuCisjIEV4YW1wbGU6CisjIFJlZGlyZWN0IHBlcm1hbmVudCAvZm9v
IGh0dHA6Ly93d3cuZXhhbXBsZS5jb20vYmFyCisKKyMKKyMgRGlyZWN0aXZlcyBjb250cm9sbGlu
ZyB0aGUgZGlzcGxheSBvZiBzZXJ2ZXItZ2VuZXJhdGVkIGRpcmVjdG9yeSBsaXN0aW5ncy4KKyMK
KworIworIyBJbmRleE9wdGlvbnM6IENvbnRyb2xzIHRoZSBhcHBlYXJhbmNlIG9mIHNlcnZlci1n
ZW5lcmF0ZWQgZGlyZWN0b3J5CisjIGxpc3RpbmdzLgorIworSW5kZXhPcHRpb25zIEZhbmN5SW5k
ZXhpbmcgVmVyc2lvblNvcnQgTmFtZVdpZHRoPSogSFRNTFRhYmxlIENoYXJzZXQ9VVRGLTgKKwor
IworIyBBZGRJY29uKiBkaXJlY3RpdmVzIHRlbGwgdGhlIHNlcnZlciB3aGljaCBpY29uIHRvIHNo
b3cgZm9yIGRpZmZlcmVudAorIyBmaWxlcyBvciBmaWxlbmFtZSBleHRlbnNpb25zLiAgVGhlc2Ug
YXJlIG9ubHkgZGlzcGxheWVkIGZvcgorIyBGYW5jeUluZGV4ZWQgZGlyZWN0b3JpZXMuCisjCitB
ZGRJY29uQnlFbmNvZGluZyAoQ01QLC9pY29ucy9jb21wcmVzc2VkLmdpZikgeC1jb21wcmVzcyB4
LWd6aXAKKworQWRkSWNvbkJ5VHlwZSAoVFhULC9pY29ucy90ZXh0LmdpZikgdGV4dC8qCitBZGRJ
Y29uQnlUeXBlIChJTUcsL2ljb25zL2ltYWdlMi5naWYpIGltYWdlLyoKK0FkZEljb25CeVR5cGUg
KFNORCwvaWNvbnMvc291bmQyLmdpZikgYXVkaW8vKgorQWRkSWNvbkJ5VHlwZSAoVklELC9pY29u
cy9tb3ZpZS5naWYpIHZpZGVvLyoKKworQWRkSWNvbiAvaWNvbnMvYmluYXJ5LmdpZiAuYmluIC5l
eGUKK0FkZEljb24gL2ljb25zL2JpbmhleC5naWYgLmhxeAorQWRkSWNvbiAvaWNvbnMvdGFyLmdp
ZiAudGFyCitBZGRJY29uIC9pY29ucy93b3JsZDIuZ2lmIC53cmwgLndybC5neiAudnJtbCAudnJt
IC5pdgorQWRkSWNvbiAvaWNvbnMvY29tcHJlc3NlZC5naWYgLlogLnogLnRneiAuZ3ogLnppcAor
QWRkSWNvbiAvaWNvbnMvYS5naWYgLnBzIC5haSAuZXBzCitBZGRJY29uIC9pY29ucy9sYXlvdXQu
Z2lmIC5odG1sIC5zaHRtbCAuaHRtIC5wZGYKK0FkZEljb24gL2ljb25zL3RleHQuZ2lmIC50eHQK
K0FkZEljb24gL2ljb25zL2MuZ2lmIC5jCitBZGRJY29uIC9pY29ucy9wLmdpZiAucGwgLnB5CitB
ZGRJY29uIC9pY29ucy9mLmdpZiAuZm9yCitBZGRJY29uIC9pY29ucy9kdmkuZ2lmIC5kdmkKK0Fk
ZEljb24gL2ljb25zL3V1ZW5jb2RlZC5naWYgLnV1CitBZGRJY29uIC9pY29ucy9zY3JpcHQuZ2lm
IC5jb25mIC5zaCAuc2hhciAuY3NoIC5rc2ggLnRjbAorQWRkSWNvbiAvaWNvbnMvdGV4LmdpZiAu
dGV4CitBZGRJY29uIC9pY29ucy9ib21iLmdpZiBjb3JlCisKK0FkZEljb24gL2ljb25zL2JhY2su
Z2lmIC4uCitBZGRJY29uIC9pY29ucy9oYW5kLnJpZ2h0LmdpZiBSRUFETUUKK0FkZEljb24gL2lj
b25zL2ZvbGRlci5naWYgXl5ESVJFQ1RPUlleXgorQWRkSWNvbiAvaWNvbnMvYmxhbmsuZ2lmIF5e
QkxBTktJQ09OXl4KKworIworIyBEZWZhdWx0SWNvbiBpcyB3aGljaCBpY29uIHRvIHNob3cgZm9y
IGZpbGVzIHdoaWNoIGRvIG5vdCBoYXZlIGFuIGljb24KKyMgZXhwbGljaXRseSBzZXQuCisjCitE
ZWZhdWx0SWNvbiAvaWNvbnMvdW5rbm93bi5naWYKKworIworIyBBZGREZXNjcmlwdGlvbiBhbGxv
d3MgeW91IHRvIHBsYWNlIGEgc2hvcnQgZGVzY3JpcHRpb24gYWZ0ZXIgYSBmaWxlIGluCisjIHNl
cnZlci1nZW5lcmF0ZWQgaW5kZXhlcy4gIFRoZXNlIGFyZSBvbmx5IGRpc3BsYXllZCBmb3IgRmFu
Y3lJbmRleGVkCisjIGRpcmVjdG9yaWVzLgorIyBGb3JtYXQ6IEFkZERlc2NyaXB0aW9uICJkZXNj
cmlwdGlvbiIgZmlsZW5hbWUKKyMKKyNBZGREZXNjcmlwdGlvbiAiR1pJUCBjb21wcmVzc2VkIGRv
Y3VtZW50IiAuZ3oKKyNBZGREZXNjcmlwdGlvbiAidGFyIGFyY2hpdmUiIC50YXIKKyNBZGREZXNj
cmlwdGlvbiAiR1pJUCBjb21wcmVzc2VkIHRhciBhcmNoaXZlIiAudGd6CisKKyMKKyMgUmVhZG1l
TmFtZSBpcyB0aGUgbmFtZSBvZiB0aGUgUkVBRE1FIGZpbGUgdGhlIHNlcnZlciB3aWxsIGxvb2sg
Zm9yIGJ5CisjIGRlZmF1bHQsIGFuZCBhcHBlbmQgdG8gZGlyZWN0b3J5IGxpc3RpbmdzLgorIwor
IyBIZWFkZXJOYW1lIGlzIHRoZSBuYW1lIG9mIGEgZmlsZSB3aGljaCBzaG91bGQgYmUgcHJlcGVu
ZGVkIHRvCisjIGRpcmVjdG9yeSBpbmRleGVzLiAKK1JlYWRtZU5hbWUgUkVBRE1FLmh0bWwKK0hl
YWRlck5hbWUgSEVBREVSLmh0bWwKKworIworIyBJbmRleElnbm9yZSBpcyBhIHNldCBvZiBmaWxl
bmFtZXMgd2hpY2ggZGlyZWN0b3J5IGluZGV4aW5nIHNob3VsZCBpZ25vcmUKKyMgYW5kIG5vdCBp
bmNsdWRlIGluIHRoZSBsaXN0aW5nLiAgU2hlbGwtc3R5bGUgd2lsZGNhcmRpbmcgaXMgcGVybWl0
dGVkLgorIworSW5kZXhJZ25vcmUgLj8/KiAqfiAqIyBIRUFERVIqIFJFQURNRSogUkNTIENWUyAq
LHYgKix0CisKKyMKKyMgRGVmYXVsdExhbmd1YWdlIGFuZCBBZGRMYW5ndWFnZSBhbGxvd3MgeW91
IHRvIHNwZWNpZnkgdGhlIGxhbmd1YWdlIG9mIAorIyBhIGRvY3VtZW50LiBZb3UgY2FuIHRoZW4g
dXNlIGNvbnRlbnQgbmVnb3RpYXRpb24gdG8gZ2l2ZSBhIGJyb3dzZXIgYSAKKyMgZmlsZSBpbiBh
IGxhbmd1YWdlIHRoZSB1c2VyIGNhbiB1bmRlcnN0YW5kLgorIworIyBTcGVjaWZ5IGEgZGVmYXVs
dCBsYW5ndWFnZS4gVGhpcyBtZWFucyB0aGF0IGFsbCBkYXRhCisjIGdvaW5nIG91dCB3aXRob3V0
IGEgc3BlY2lmaWMgbGFuZ3VhZ2UgdGFnIChzZWUgYmVsb3cpIHdpbGwgCisjIGJlIG1hcmtlZCB3
aXRoIHRoaXMgb25lLiBZb3UgcHJvYmFibHkgZG8gTk9UIHdhbnQgdG8gc2V0CisjIHRoaXMgdW5s
ZXNzIHlvdSBhcmUgc3VyZSBpdCBpcyBjb3JyZWN0IGZvciBhbGwgY2FzZXMuCisjCisjICogSXQg
aXMgZ2VuZXJhbGx5IGJldHRlciB0byBub3QgbWFyayBhIHBhZ2UgYXMgCisjICogYmVpbmcgYSBj
ZXJ0YWluIGxhbmd1YWdlIHRoYW4gbWFya2luZyBpdCB3aXRoIHRoZSB3cm9uZworIyAqIGxhbmd1
YWdlIQorIworIyBEZWZhdWx0TGFuZ3VhZ2UgbmwKKyMKKyMgTm90ZSAxOiBUaGUgc3VmZml4IGRv
ZXMgbm90IGhhdmUgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIGxhbmd1YWdlCisjIGtleXdvcmQgLS0t
IHRob3NlIHdpdGggZG9jdW1lbnRzIGluIFBvbGlzaCAod2hvc2UgbmV0LXN0YW5kYXJkCisjIGxh
bmd1YWdlIGNvZGUgaXMgcGwpIG1heSB3aXNoIHRvIHVzZSAiQWRkTGFuZ3VhZ2UgcGwgLnBvIiB0
bworIyBhdm9pZCB0aGUgYW1iaWd1aXR5IHdpdGggdGhlIGNvbW1vbiBzdWZmaXggZm9yIHBlcmwg
c2NyaXB0cy4KKyMKKyMgTm90ZSAyOiBUaGUgZXhhbXBsZSBlbnRyaWVzIGJlbG93IGlsbHVzdHJh
dGUgdGhhdCBpbiBzb21lIGNhc2VzIAorIyB0aGUgdHdvIGNoYXJhY3RlciAnTGFuZ3VhZ2UnIGFi
YnJldmlhdGlvbiBpcyBub3QgaWRlbnRpY2FsIHRvIAorIyB0aGUgdHdvIGNoYXJhY3RlciAnQ291
bnRyeScgY29kZSBmb3IgaXRzIGNvdW50cnksCisjIEUuZy4gJ0Rhbm1hcmsvZGsnIHZlcnN1cyAn
RGFuaXNoL2RhJy4KKyMKKyMgTm90ZSAzOiBJbiB0aGUgY2FzZSBvZiAnbHR6JyB3ZSB2aW9sYXRl
IHRoZSBSRkMgYnkgdXNpbmcgYSB0aHJlZSBjaGFyCisjIHNwZWNpZmllci4gVGhlcmUgaXMgJ3dv
cmsgaW4gcHJvZ3Jlc3MnIHRvIGZpeCB0aGlzIGFuZCBnZXQKKyMgdGhlIHJlZmVyZW5jZSBkYXRh
IGZvciByZmMxNzY2IGNsZWFuZWQgdXAuCisjCisjIENhdGFsYW4gKGNhKSAtIENyb2F0aWFuICho
cikgLSBDemVjaCAoY3MpIC0gRGFuaXNoIChkYSkgLSBEdXRjaCAobmwpCisjIEVuZ2xpc2ggKGVu
KSAtIEVzcGVyYW50byAoZW8pIC0gRXN0b25pYW4gKGV0KSAtIEZyZW5jaCAoZnIpIC0gR2VybWFu
IChkZSkKKyMgR3JlZWstTW9kZXJuIChlbCkgLSBIZWJyZXcgKGhlKSAtIEl0YWxpYW4gKGl0KSAt
IEphcGFuZXNlIChqYSkKKyMgS29yZWFuIChrbykgLSBMdXhlbWJvdXJnZW9pcyogKGx0eikgLSBO
b3J3ZWdpYW4gTnlub3JzayAobm4pCisjIE5vcndlZ2lhbiAobm8pIC0gUG9saXNoIChwbCkgLSBQ
b3J0dWdlc2UgKHB0KQorIyBCcmF6aWxpYW4gUG9ydHVndWVzZSAocHQtQlIpIC0gUnVzc2lhbiAo
cnUpIC0gU3dlZGlzaCAoc3YpCisjIFNpbXBsaWZpZWQgQ2hpbmVzZSAoemgtQ04pIC0gU3Bhbmlz
aCAoZXMpIC0gVHJhZGl0aW9uYWwgQ2hpbmVzZSAoemgtVFcpCisjCitBZGRMYW5ndWFnZSBjYSAu
Y2EKK0FkZExhbmd1YWdlIGNzIC5jeiAuY3MKK0FkZExhbmd1YWdlIGRhIC5kaworQWRkTGFuZ3Vh
Z2UgZGUgLmRlCitBZGRMYW5ndWFnZSBlbCAuZWwKK0FkZExhbmd1YWdlIGVuIC5lbgorQWRkTGFu
Z3VhZ2UgZW8gLmVvCitBZGRMYW5ndWFnZSBlcyAuZXMKK0FkZExhbmd1YWdlIGV0IC5ldAorQWRk
TGFuZ3VhZ2UgZnIgLmZyCitBZGRMYW5ndWFnZSBoZSAuaGUKK0FkZExhbmd1YWdlIGhyIC5ocgor
QWRkTGFuZ3VhZ2UgaXQgLml0CitBZGRMYW5ndWFnZSBqYSAuamEKK0FkZExhbmd1YWdlIGtvIC5r
bworQWRkTGFuZ3VhZ2UgbHR6IC5sdHoKK0FkZExhbmd1YWdlIG5sIC5ubAorQWRkTGFuZ3VhZ2Ug
bm4gLm5uCitBZGRMYW5ndWFnZSBubyAubm8KK0FkZExhbmd1YWdlIHBsIC5wbworQWRkTGFuZ3Vh
Z2UgcHQgLnB0CitBZGRMYW5ndWFnZSBwdC1CUiAucHQtYnIKK0FkZExhbmd1YWdlIHJ1IC5ydQor
QWRkTGFuZ3VhZ2Ugc3YgLnN2CitBZGRMYW5ndWFnZSB6aC1DTiAuemgtY24KK0FkZExhbmd1YWdl
IHpoLVRXIC56aC10dworCisjCisjIExhbmd1YWdlUHJpb3JpdHkgYWxsb3dzIHlvdSB0byBnaXZl
IHByZWNlZGVuY2UgdG8gc29tZSBsYW5ndWFnZXMKKyMgaW4gY2FzZSBvZiBhIHRpZSBkdXJpbmcg
Y29udGVudCBuZWdvdGlhdGlvbi4KKyMKKyMgSnVzdCBsaXN0IHRoZSBsYW5ndWFnZXMgaW4gZGVj
cmVhc2luZyBvcmRlciBvZiBwcmVmZXJlbmNlLiBXZSBoYXZlCisjIG1vcmUgb3IgbGVzcyBhbHBo
YWJldGl6ZWQgdGhlbSBoZXJlLiBZb3UgcHJvYmFibHkgd2FudCB0byBjaGFuZ2UgdGhpcy4KKyMK
K0xhbmd1YWdlUHJpb3JpdHkgZW4gY2EgY3MgZGEgZGUgZWwgZW8gZXMgZXQgZnIgaGUgaHIgaXQg
amEga28gbHR6IG5sIG5uIG5vIHBsIHB0IHB0LUJSIHJ1IHN2IHpoLUNOIHpoLVRXCisKKyMKKyMg
Rm9yY2VMYW5ndWFnZVByaW9yaXR5IGFsbG93cyB5b3UgdG8gc2VydmUgYSByZXN1bHQgcGFnZSBy
YXRoZXIgdGhhbgorIyBNVUxUSVBMRSBDSE9JQ0VTIChQcmVmZXIpIFtpbiBjYXNlIG9mIGEgdGll
XSBvciBOT1QgQUNDRVBUQUJMRSAoRmFsbGJhY2spCisjIFtpbiBjYXNlIG5vIGFjY2VwdGVkIGxh
bmd1YWdlcyBtYXRjaGVkIHRoZSBhdmFpbGFibGUgdmFyaWFudHNdCisjCitGb3JjZUxhbmd1YWdl
UHJpb3JpdHkgUHJlZmVyIEZhbGxiYWNrCisKKyMKKyMgU3BlY2lmeSBhIGRlZmF1bHQgY2hhcnNl
dCBmb3IgYWxsIGNvbnRlbnQgc2VydmVkOyB0aGlzIGVuYWJsZXMKKyMgaW50ZXJwcmV0YXRpb24g
b2YgYWxsIGNvbnRlbnQgYXMgVVRGLTggYnkgZGVmYXVsdC4gIFRvIHVzZSB0aGUgCisjIGRlZmF1
bHQgYnJvd3NlciBjaG9pY2UgKElTTy04ODU5LTEpLCBvciB0byBhbGxvdyB0aGUgTUVUQSB0YWdz
CisjIGluIEhUTUwgY29udGVudCB0byBvdmVycmlkZSB0aGlzIGNob2ljZSwgY29tbWVudCBvdXQg
dGhpcworIyBkaXJlY3RpdmU6CisjCitBZGREZWZhdWx0Q2hhcnNldCBVVEYtOAorCisjCisjIEFk
ZFR5cGUgYWxsb3dzIHlvdSB0byBhZGQgdG8gb3Igb3ZlcnJpZGUgdGhlIE1JTUUgY29uZmlndXJh
dGlvbgorIyBmaWxlIG1pbWUudHlwZXMgZm9yIHNwZWNpZmljIGZpbGUgdHlwZXMuCisjCisjQWRk
VHlwZSBhcHBsaWNhdGlvbi94LXRhciAudGd6CisKKyMKKyMgQWRkRW5jb2RpbmcgYWxsb3dzIHlv
dSB0byBoYXZlIGNlcnRhaW4gYnJvd3NlcnMgdW5jb21wcmVzcworIyBpbmZvcm1hdGlvbiBvbiB0
aGUgZmx5LiBOb3RlOiBOb3QgYWxsIGJyb3dzZXJzIHN1cHBvcnQgdGhpcy4KKyMgRGVzcGl0ZSB0
aGUgbmFtZSBzaW1pbGFyaXR5LCB0aGUgZm9sbG93aW5nIEFkZCogZGlyZWN0aXZlcyBoYXZlIG5v
dGhpbmcKKyMgdG8gZG8gd2l0aCB0aGUgRmFuY3lJbmRleGluZyBjdXN0b21pemF0aW9uIGRpcmVj
dGl2ZXMgYWJvdmUuCisjCisjQWRkRW5jb2RpbmcgeC1jb21wcmVzcyAuWgorI0FkZEVuY29kaW5n
IHgtZ3ppcCAuZ3ogLnRnegorCisjIElmIHRoZSBBZGRFbmNvZGluZyBkaXJlY3RpdmVzIGFib3Zl
IGFyZSBjb21tZW50ZWQtb3V0LCB0aGVuIHlvdQorIyBwcm9iYWJseSBzaG91bGQgZGVmaW5lIHRo
b3NlIGV4dGVuc2lvbnMgdG8gaW5kaWNhdGUgbWVkaWEgdHlwZXM6CisjCitBZGRUeXBlIGFwcGxp
Y2F0aW9uL3gtY29tcHJlc3MgLloKK0FkZFR5cGUgYXBwbGljYXRpb24veC1nemlwIC5neiAudGd6
CisKKyMKKyMgICBNSU1FLXR5cGVzIGZvciBkb3dubG9hZGluZyBDZXJ0aWZpY2F0ZXMgYW5kIENS
THMKKyMKK0FkZFR5cGUgYXBwbGljYXRpb24veC14NTA5LWNhLWNlcnQgLmNydAorQWRkVHlwZSBh
cHBsaWNhdGlvbi94LXBrY3M3LWNybCAgICAuY3JsCisKKyMKKyMgQWRkSGFuZGxlciBhbGxvd3Mg
eW91IHRvIG1hcCBjZXJ0YWluIGZpbGUgZXh0ZW5zaW9ucyB0byAiaGFuZGxlcnMiOgorIyBhY3Rp
b25zIHVucmVsYXRlZCB0byBmaWxldHlwZS4gVGhlc2UgY2FuIGJlIGVpdGhlciBidWlsdCBpbnRv
IHRoZSBzZXJ2ZXIKKyMgb3IgYWRkZWQgd2l0aCB0aGUgQWN0aW9uIGRpcmVjdGl2ZSAoc2VlIGJl
bG93KQorIworIyBUbyB1c2UgQ0dJIHNjcmlwdHMgb3V0c2lkZSBvZiBTY3JpcHRBbGlhc2VkIGRp
cmVjdG9yaWVzOgorIyAoWW91IHdpbGwgYWxzbyBuZWVkIHRvIGFkZCAiRXhlY0NHSSIgdG8gdGhl
ICJPcHRpb25zIiBkaXJlY3RpdmUuKQorIworI0FkZEhhbmRsZXIgY2dpLXNjcmlwdCAuY2dpCisK
KyMKKyMgRm9yIGZpbGVzIHRoYXQgaW5jbHVkZSB0aGVpciBvd24gSFRUUCBoZWFkZXJzOgorIwor
I0FkZEhhbmRsZXIgc2VuZC1hcy1pcyBhc2lzCisKKyMKKyMgRm9yIHR5cGUgbWFwcyAobmVnb3Rp
YXRlZCByZXNvdXJjZXMpOgorIyAoVGhpcyBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgdG8gYWxsb3cg
dGhlIEFwYWNoZSAiSXQgV29ya2VkIiBwYWdlCisjICB0byBiZSBkaXN0cmlidXRlZCBpbiBtdWx0
aXBsZSBsYW5ndWFnZXMuKQorIworQWRkSGFuZGxlciB0eXBlLW1hcCB2YXIKKworIworIyBGaWx0
ZXJzIGFsbG93IHlvdSB0byBwcm9jZXNzIGNvbnRlbnQgYmVmb3JlIGl0IGlzIHNlbnQgdG8gdGhl
IGNsaWVudC4KKyMKKyMgVG8gcGFyc2UgLnNodG1sIGZpbGVzIGZvciBzZXJ2ZXItc2lkZSBpbmNs
dWRlcyAoU1NJKToKKyMgKFlvdSB3aWxsIGFsc28gbmVlZCB0byBhZGQgIkluY2x1ZGVzIiB0byB0
aGUgIk9wdGlvbnMiIGRpcmVjdGl2ZS4pCisjCitBZGRUeXBlIHRleHQvaHRtbCAuc2h0bWwKK0Fk
ZE91dHB1dEZpbHRlciBJTkNMVURFUyAuc2h0bWwKKworIworIyBBY3Rpb24gbGV0cyB5b3UgZGVm
aW5lIG1lZGlhIHR5cGVzIHRoYXQgd2lsbCBleGVjdXRlIGEgc2NyaXB0IHdoZW5ldmVyCisjIGEg
bWF0Y2hpbmcgZmlsZSBpcyBjYWxsZWQuIFRoaXMgZWxpbWluYXRlcyB0aGUgbmVlZCBmb3IgcmVw
ZWF0ZWQgVVJMCisjIHBhdGhuYW1lcyBmb3Igb2Z0LXVzZWQgQ0dJIGZpbGUgcHJvY2Vzc29ycy4K
KyMgRm9ybWF0OiBBY3Rpb24gbWVkaWEvdHlwZSAvY2dpLXNjcmlwdC9sb2NhdGlvbgorIyBGb3Jt
YXQ6IEFjdGlvbiBoYW5kbGVyLW5hbWUgL2NnaS1zY3JpcHQvbG9jYXRpb24KKyMKKworIworIyBD
dXN0b21pemFibGUgZXJyb3IgcmVzcG9uc2VzIGNvbWUgaW4gdGhyZWUgZmxhdm9yczoKKyMgMSkg
cGxhaW4gdGV4dCAyKSBsb2NhbCByZWRpcmVjdHMgMykgZXh0ZXJuYWwgcmVkaXJlY3RzCisjCisj
IFNvbWUgZXhhbXBsZXM6CisjRXJyb3JEb2N1bWVudCA1MDAgIlRoZSBzZXJ2ZXIgbWFkZSBhIGJv
byBib28uIgorI0Vycm9yRG9jdW1lbnQgNDA0IC9taXNzaW5nLmh0bWwKKyNFcnJvckRvY3VtZW50
IDQwNCAiL2NnaS1iaW4vbWlzc2luZ19oYW5kbGVyLnBsIgorI0Vycm9yRG9jdW1lbnQgNDAyIGh0
dHA6Ly93d3cuZXhhbXBsZS5jb20vc3Vic2NyaXB0aW9uX2luZm8uaHRtbAorIworCisjCisjIFB1
dHRpbmcgdGhpcyBhbGwgdG9nZXRoZXIsIHdlIGNhbiBpbnRlcm5hdGlvbmFsaXplIGVycm9yIHJl
c3BvbnNlcy4KKyMKKyMgV2UgdXNlIEFsaWFzIHRvIHJlZGlyZWN0IGFueSAvZXJyb3IvSFRUUF88
ZXJyb3I+Lmh0bWwudmFyIHJlc3BvbnNlIHRvCisjIG91ciBjb2xsZWN0aW9uIG9mIGJ5LWVycm9y
IG1lc3NhZ2UgbXVsdGktbGFuZ3VhZ2UgY29sbGVjdGlvbnMuICBXZSB1c2UgCisjIGluY2x1ZGVz
IHRvIHN1YnN0aXR1dGUgdGhlIGFwcHJvcHJpYXRlIHRleHQuCisjCisjIFlvdSBjYW4gbW9kaWZ5
IHRoZSBtZXNzYWdlcycgYXBwZWFyYW5jZSB3aXRob3V0IGNoYW5naW5nIGFueSBvZiB0aGUKKyMg
ZGVmYXVsdCBIVFRQXzxlcnJvcj4uaHRtbC52YXIgZmlsZXMgYnkgYWRkaW5nIHRoZSBsaW5lOgor
IworIyAgIEFsaWFzIC9lcnJvci9pbmNsdWRlLyAiL3lvdXIvaW5jbHVkZS9wYXRoLyIKKyMKKyMg
d2hpY2ggYWxsb3dzIHlvdSB0byBjcmVhdGUgeW91ciBvd24gc2V0IG9mIGZpbGVzIGJ5IHN0YXJ0
aW5nIHdpdGggdGhlCisjIC92YXIvd3d3L2Vycm9yL2luY2x1ZGUvIGZpbGVzIGFuZAorIyBjb3B5
aW5nIHRoZW0gdG8gL3lvdXIvaW5jbHVkZS9wYXRoLywgZXZlbiBvbiBhIHBlci1WaXJ0dWFsSG9z
dCBiYXNpcy4KKyMKKworQWxpYXMgL2Vycm9yLyAiL3Zhci93d3cvZXJyb3IvIgorCis8SWZNb2R1
bGUgbW9kX25lZ290aWF0aW9uLmM+Cis8SWZNb2R1bGUgbW9kX2luY2x1ZGUuYz4KKyAgICA8RGly
ZWN0b3J5ICIvdmFyL3d3dy9lcnJvciI+CisgICAgICAgIEFsbG93T3ZlcnJpZGUgTm9uZQorICAg
ICAgICBPcHRpb25zIEluY2x1ZGVzTm9FeGVjCisgICAgICAgIEFkZE91dHB1dEZpbHRlciBJbmNs
dWRlcyBodG1sCisgICAgICAgIEFkZEhhbmRsZXIgdHlwZS1tYXAgdmFyCisgICAgICAgIE9yZGVy
IGFsbG93LGRlbnkKKyAgICAgICAgQWxsb3cgZnJvbSBhbGwKKyAgICAgICAgTGFuZ3VhZ2VQcmlv
cml0eSBlbiBlcyBkZSBmcgorICAgICAgICBGb3JjZUxhbmd1YWdlUHJpb3JpdHkgUHJlZmVyIEZh
bGxiYWNrCisgICAgPC9EaXJlY3Rvcnk+CisKKyMgICAgRXJyb3JEb2N1bWVudCA0MDAgL2Vycm9y
L0hUVFBfQkFEX1JFUVVFU1QuaHRtbC52YXIKKyMgICAgRXJyb3JEb2N1bWVudCA0MDEgL2Vycm9y
L0hUVFBfVU5BVVRIT1JJWkVELmh0bWwudmFyCisjICAgIEVycm9yRG9jdW1lbnQgNDAzIC9lcnJv
ci9IVFRQX0ZPUkJJRERFTi5odG1sLnZhcgorIyAgICBFcnJvckRvY3VtZW50IDQwNCAvZXJyb3Iv
SFRUUF9OT1RfRk9VTkQuaHRtbC52YXIKKyMgICAgRXJyb3JEb2N1bWVudCA0MDUgL2Vycm9yL0hU
VFBfTUVUSE9EX05PVF9BTExPV0VELmh0bWwudmFyCisjICAgIEVycm9yRG9jdW1lbnQgNDA4IC9l
cnJvci9IVFRQX1JFUVVFU1RfVElNRV9PVVQuaHRtbC52YXIKKyMgICAgRXJyb3JEb2N1bWVudCA0
MTAgL2Vycm9yL0hUVFBfR09ORS5odG1sLnZhcgorIyAgICBFcnJvckRvY3VtZW50IDQxMSAvZXJy
b3IvSFRUUF9MRU5HVEhfUkVRVUlSRUQuaHRtbC52YXIKKyMgICAgRXJyb3JEb2N1bWVudCA0MTIg
L2Vycm9yL0hUVFBfUFJFQ09ORElUSU9OX0ZBSUxFRC5odG1sLnZhcgorIyAgICBFcnJvckRvY3Vt
ZW50IDQxMyAvZXJyb3IvSFRUUF9SRVFVRVNUX0VOVElUWV9UT09fTEFSR0UuaHRtbC52YXIKKyMg
ICAgRXJyb3JEb2N1bWVudCA0MTQgL2Vycm9yL0hUVFBfUkVRVUVTVF9VUklfVE9PX0xBUkdFLmh0
bWwudmFyCisjICAgIEVycm9yRG9jdW1lbnQgNDE1IC9lcnJvci9IVFRQX1VOU1VQUE9SVEVEX01F
RElBX1RZUEUuaHRtbC52YXIKKyMgICAgRXJyb3JEb2N1bWVudCA1MDAgL2Vycm9yL0hUVFBfSU5U
RVJOQUxfU0VSVkVSX0VSUk9SLmh0bWwudmFyCisjICAgIEVycm9yRG9jdW1lbnQgNTAxIC9lcnJv
ci9IVFRQX05PVF9JTVBMRU1FTlRFRC5odG1sLnZhcgorIyAgICBFcnJvckRvY3VtZW50IDUwMiAv
ZXJyb3IvSFRUUF9CQURfR0FURVdBWS5odG1sLnZhcgorIyAgICBFcnJvckRvY3VtZW50IDUwMyAv
ZXJyb3IvSFRUUF9TRVJWSUNFX1VOQVZBSUxBQkxFLmh0bWwudmFyCisjICAgIEVycm9yRG9jdW1l
bnQgNTA2IC9lcnJvci9IVFRQX1ZBUklBTlRfQUxTT19WQVJJRVMuaHRtbC52YXIKKworPC9JZk1v
ZHVsZT4KKzwvSWZNb2R1bGU+CisKKyMKKyMgVGhlIGZvbGxvd2luZyBkaXJlY3RpdmVzIG1vZGlm
eSBub3JtYWwgSFRUUCByZXNwb25zZSBiZWhhdmlvciB0bworIyBoYW5kbGUga25vd24gcHJvYmxl
bXMgd2l0aCBicm93c2VyIGltcGxlbWVudGF0aW9ucy4KKyMKK0Jyb3dzZXJNYXRjaCAiTW96aWxs
YS8yIiBub2tlZXBhbGl2ZQorQnJvd3Nlck1hdGNoICJNU0lFIDRcLjBiMjsiIG5va2VlcGFsaXZl
IGRvd25ncmFkZS0xLjAgZm9yY2UtcmVzcG9uc2UtMS4wCitCcm93c2VyTWF0Y2ggIlJlYWxQbGF5
ZXIgNFwuMCIgZm9yY2UtcmVzcG9uc2UtMS4wCitCcm93c2VyTWF0Y2ggIkphdmEvMVwuMCIgZm9y
Y2UtcmVzcG9uc2UtMS4wCitCcm93c2VyTWF0Y2ggIkpESy8xXC4wIiBmb3JjZS1yZXNwb25zZS0x
LjAKKworIworIyBUaGUgZm9sbG93aW5nIGRpcmVjdGl2ZSBkaXNhYmxlcyByZWRpcmVjdHMgb24g
bm9uLUdFVCByZXF1ZXN0cyBmb3IKKyMgYSBkaXJlY3RvcnkgdGhhdCBkb2VzIG5vdCBpbmNsdWRl
IHRoZSB0cmFpbGluZyBzbGFzaC4gIFRoaXMgZml4ZXMgYSAKKyMgcHJvYmxlbSB3aXRoIE1pY3Jv
c29mdCBXZWJGb2xkZXJzIHdoaWNoIGRvZXMgbm90IGFwcHJvcHJpYXRlbHkgaGFuZGxlIAorIyBy
ZWRpcmVjdHMgZm9yIGZvbGRlcnMgd2l0aCBEQVYgbWV0aG9kcy4KKyMgU2FtZSBkZWFsIHdpdGgg
QXBwbGUncyBEQVYgZmlsZXN5c3RlbSBhbmQgR25vbWUgVkZTIHN1cHBvcnQgZm9yIERBVi4KKyMK
K0Jyb3dzZXJNYXRjaCAiTWljcm9zb2Z0IERhdGEgQWNjZXNzIEludGVybmV0IFB1Ymxpc2hpbmcg
UHJvdmlkZXIiIHJlZGlyZWN0LWNhcmVmdWxseQorQnJvd3Nlck1hdGNoICJNUyBGcm9udFBhZ2Ui
IHJlZGlyZWN0LWNhcmVmdWxseQorQnJvd3Nlck1hdGNoICJeV2ViRHJpdmUiIHJlZGlyZWN0LWNh
cmVmdWxseQorQnJvd3Nlck1hdGNoICJeV2ViREFWRlMvMS5bMDEyM10iIHJlZGlyZWN0LWNhcmVm
dWxseQorQnJvd3Nlck1hdGNoICJeZ25vbWUtdmZzLzEuMCIgcmVkaXJlY3QtY2FyZWZ1bGx5CitC
cm93c2VyTWF0Y2ggIl5YTUwgU3B5IiByZWRpcmVjdC1jYXJlZnVsbHkKK0Jyb3dzZXJNYXRjaCAi
XkRyZWFtd2VhdmVyLVdlYkRBVi1TQ00xIiByZWRpcmVjdC1jYXJlZnVsbHkKKworIworIyBBbGxv
dyBzZXJ2ZXIgc3RhdHVzIHJlcG9ydHMgZ2VuZXJhdGVkIGJ5IG1vZF9zdGF0dXMsCisjIHdpdGgg
dGhlIFVSTCBvZiBodHRwOi8vc2VydmVybmFtZS9zZXJ2ZXItc3RhdHVzCisjIENoYW5nZSB0aGUg
Ii5leGFtcGxlLmNvbSIgdG8gbWF0Y2ggeW91ciBkb21haW4gdG8gZW5hYmxlLgorIworIzxMb2Nh
dGlvbiAvc2VydmVyLXN0YXR1cz4KKyMgICAgU2V0SGFuZGxlciBzZXJ2ZXItc3RhdHVzCisjICAg
IE9yZGVyIGRlbnksYWxsb3cKKyMgICAgRGVueSBmcm9tIGFsbAorIyAgICBBbGxvdyBmcm9tIC5l
eGFtcGxlLmNvbQorIzwvTG9jYXRpb24+CisKKyMKKyMgQWxsb3cgcmVtb3RlIHNlcnZlciBjb25m
aWd1cmF0aW9uIHJlcG9ydHMsIHdpdGggdGhlIFVSTCBvZgorIyAgaHR0cDovL3NlcnZlcm5hbWUv
c2VydmVyLWluZm8gKHJlcXVpcmVzIHRoYXQgbW9kX2luZm8uYyBiZSBsb2FkZWQpLgorIyBDaGFu
Z2UgdGhlICIuZXhhbXBsZS5jb20iIHRvIG1hdGNoIHlvdXIgZG9tYWluIHRvIGVuYWJsZS4KKyMK
KyM8TG9jYXRpb24gL3NlcnZlci1pbmZvPgorIyAgICBTZXRIYW5kbGVyIHNlcnZlci1pbmZvCisj
ICAgIE9yZGVyIGRlbnksYWxsb3cKKyMgICAgRGVueSBmcm9tIGFsbAorIyAgICBBbGxvdyBmcm9t
IC5leGFtcGxlLmNvbQorIzwvTG9jYXRpb24+CisKKyMKKyMgUHJveHkgU2VydmVyIGRpcmVjdGl2
ZXMuIFVuY29tbWVudCB0aGUgZm9sbG93aW5nIGxpbmVzIHRvCisjIGVuYWJsZSB0aGUgcHJveHkg
c2VydmVyOgorIworIzxJZk1vZHVsZSBtb2RfcHJveHkuYz4KKyNQcm94eVJlcXVlc3RzIE9uCisj
CisjPFByb3h5ICo+CisjICAgIE9yZGVyIGRlbnksYWxsb3cKKyMgICAgRGVueSBmcm9tIGFsbAor
IyAgICBBbGxvdyBmcm9tIC5leGFtcGxlLmNvbQorIzwvUHJveHk+CisKKyMKKyMgRW5hYmxlL2Rp
c2FibGUgdGhlIGhhbmRsaW5nIG9mIEhUVFAvMS4xICJWaWE6IiBoZWFkZXJzLgorIyAoIkZ1bGwi
IGFkZHMgdGhlIHNlcnZlciB2ZXJzaW9uOyAiQmxvY2siIHJlbW92ZXMgYWxsIG91dGdvaW5nIFZp
YTogaGVhZGVycykKKyMgU2V0IHRvIG9uZSBvZjogT2ZmIHwgT24gfCBGdWxsIHwgQmxvY2sKKyMK
KyNQcm94eVZpYSBPbgorCisjCisjIFRvIGVuYWJsZSBhIGNhY2hlIG9mIHByb3hpZWQgY29udGVu
dCwgdW5jb21tZW50IHRoZSBmb2xsb3dpbmcgbGluZXMuCisjIFNlZSBodHRwOi8vaHR0cGQuYXBh
Y2hlLm9yZy9kb2NzLzIuMi9tb2QvbW9kX2NhY2hlLmh0bWwgZm9yIG1vcmUgZGV0YWlscy4KKyMK
KyM8SWZNb2R1bGUgbW9kX2Rpc2tfY2FjaGUuYz4KKyMgICBDYWNoZUVuYWJsZSBkaXNrIC8KKyMg
ICBDYWNoZVJvb3QgIi92YXIvY2FjaGUvbW9kX3Byb3h5IgorIzwvSWZNb2R1bGU+CisjCisKKyM8
L0lmTW9kdWxlPgorIyBFbmQgb2YgcHJveHkgZGlyZWN0aXZlcy4KKworIyMjIFNlY3Rpb24gMzog
VmlydHVhbCBIb3N0cworIworIyBWaXJ0dWFsSG9zdDogSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4g
bXVsdGlwbGUgZG9tYWlucy9ob3N0bmFtZXMgb24geW91cgorIyBtYWNoaW5lIHlvdSBjYW4gc2V0
dXAgVmlydHVhbEhvc3QgY29udGFpbmVycyBmb3IgdGhlbS4gTW9zdCBjb25maWd1cmF0aW9ucwor
IyB1c2Ugb25seSBuYW1lLWJhc2VkIHZpcnR1YWwgaG9zdHMgc28gdGhlIHNlcnZlciBkb2Vzbid0
IG5lZWQgdG8gd29ycnkgYWJvdXQKKyMgSVAgYWRkcmVzc2VzLiBUaGlzIGlzIGluZGljYXRlZCBi
eSB0aGUgYXN0ZXJpc2tzIGluIHRoZSBkaXJlY3RpdmVzIGJlbG93LgorIworIyBQbGVhc2Ugc2Vl
IHRoZSBkb2N1bWVudGF0aW9uIGF0IAorIyA8VVJMOmh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2Rv
Y3MvMi4yL3Zob3N0cy8+CisjIGZvciBmdXJ0aGVyIGRldGFpbHMgYmVmb3JlIHlvdSB0cnkgdG8g
c2V0dXAgdmlydHVhbCBob3N0cy4KKyMKKyMgWW91IG1heSB1c2UgdGhlIGNvbW1hbmQgbGluZSBv
cHRpb24gJy1TJyB0byB2ZXJpZnkgeW91ciB2aXJ0dWFsIGhvc3QKKyMgY29uZmlndXJhdGlvbi4K
KworIworIyBVc2UgbmFtZS1iYXNlZCB2aXJ0dWFsIGhvc3RpbmcuCisjCisjTmFtZVZpcnR1YWxI
b3N0ICo6ODAKKyMKKyMgTk9URTogTmFtZVZpcnR1YWxIb3N0IGNhbm5vdCBiZSB1c2VkIHdpdGhv
dXQgYSBwb3J0IHNwZWNpZmllciAKKyMgKGUuZy4gOjgwKSBpZiBtb2Rfc3NsIGlzIGJlaW5nIHVz
ZWQsIGR1ZSB0byB0aGUgbmF0dXJlIG9mIHRoZQorIyBTU0wgcHJvdG9jb2wuCisjCisKKyMKKyMg
VmlydHVhbEhvc3QgZXhhbXBsZToKKyMgQWxtb3N0IGFueSBBcGFjaGUgZGlyZWN0aXZlIG1heSBn
byBpbnRvIGEgVmlydHVhbEhvc3QgY29udGFpbmVyLgorIyBUaGUgZmlyc3QgVmlydHVhbEhvc3Qg
c2VjdGlvbiBpcyB1c2VkIGZvciByZXF1ZXN0cyB3aXRob3V0IGEga25vd24KKyMgc2VydmVyIG5h
bWUuCisjCisjPFZpcnR1YWxIb3N0ICo6ODA+CisjICAgIFNlcnZlckFkbWluIHdlYm1hc3RlckBk
dW1teS1ob3N0LmV4YW1wbGUuY29tCisjICAgIERvY3VtZW50Um9vdCAvd3d3L2RvY3MvZHVtbXkt
aG9zdC5leGFtcGxlLmNvbQorIyAgICBTZXJ2ZXJOYW1lIGR1bW15LWhvc3QuZXhhbXBsZS5jb20K
KyMgICAgRXJyb3JMb2cgbG9ncy9kdW1teS1ob3N0LmV4YW1wbGUuY29tLWVycm9yX2xvZworIyAg
ICBDdXN0b21Mb2cgbG9ncy9kdW1teS1ob3N0LmV4YW1wbGUuY29tLWFjY2Vzc19sb2cgY29tbW9u
CisjPC9WaXJ0dWFsSG9zdD4KKworPElmTW9kdWxlIG1vZF9waHA1LmM+CisgICAgIyBJZiBwaHAg
aXMgdHVybmVkIG9uLCB3ZSByZXBzZWN0IC5waHAgYW5kIC5waHBzIGZpbGVzLgorICAgIEFkZFR5
cGUgYXBwbGljYXRpb24veC1odHRwZC1waHAgLnBocAorICAgIEFkZFR5cGUgYXBwbGljYXRpb24v
eC1odHRwZC1waHAgLmJhdAorICAgIEFkZFR5cGUgYXBwbGljYXRpb24veC1odHRwZC1waHAtc291
cmNlIC5waHBzCisKKyAgICAjIFNpbmNlIG1vc3QgdXNlcnMgd2lsbCB3YW50IGluZGV4LnBocCB0
byB3b3JrIHdlCisgICAgIyBhbHNvIGF1dG9tYXRpY2FsbHkgZW5hYmxlIGluZGV4LnBocAorICAg
IDxJZk1vZHVsZSBtb2RfZGlyLmM+CisgICAgICAgIERpcmVjdG9yeUluZGV4IGluZGV4Lmh0bWwg
aW5kZXgucGhwCisgICAgPC9JZk1vZHVsZT4KKzwvSWZNb2R1bGU+CisKKzxJZk1vZHVsZSBtb2Rf
cmV3cml0ZS5jPgorICAgIFJld3JpdGVFbmdpbmUgT24KKyAgICBSZXdyaXRlQ29uZCAle1JFUVVF
U1RfTUVUSE9EfSBeVFJBQ0UKKyAgICBSZXdyaXRlUnVsZSAuKiAtIFtGXQorPC9JZk1vZHVsZT4K
KworPFZpcnR1YWxIb3N0IDEyNy4wLjAuMTo4NDQzPgorICAgIFNlcnZlck5hbWUgMTI3LjAuMC4x
CisgICAgU1NMRW5naW5lIE9uCis8L1ZpcnR1YWxIb3N0PgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IGNlMDc1YTUuLmQ0NmQ4
NWIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAwOS0wOC0xMyAgWGFuIExvcGV6ICA8eGxvcGV6
QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIHN1cHBvcnQgZm9yIEZlZG9yYSBkaXN0cm9zIGluIHRoZSBodHRwIHRlc3RzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODI2MworCisg
ICAgICAgIEFkZCBkZXRlY3Rpb24gY29kZSBmb3IgRmVkb3JhIGRpc3RyaWJ1dGlvbiwgYW5kIHVz
ZSB0aGUgcHJvcGVyCisgICAgICAgIGh0dHBkIGNvbmYgZmlsZSB3aGVuIG5lZWRlZC4KKworICAg
ICAgICAqIFNjcmlwdHMvcnVuLXdlYmtpdC10ZXN0czoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dGRpcnMucG06CisKIDIwMDktMDgtMTIgIEdlb3JnZSBTdGFpa29zICA8Z2VvcmdlLnN0YWlrb3NA
dG9yY2htb2JpbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gVHJlYXQuCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMgYi9XZWJLaXRUb29s
cy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMKaW5kZXggNDhhZTNlYS4uOGM0ZTlmMSAxMDA3NTUK
LS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzCisrKyBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cwpAQCAtMTQ0NSw2ICsxNDQ1LDkgQEAgc3ViIG9w
ZW5IVFRQRElmTmVlZGVkKCkKICAgICB9IGVsc2lmIChpc0RlYmlhbkJhc2VkKCkpIHsKICAgICAg
ICAgJGh0dHBkUGF0aCA9ICIvdXNyL3NiaW4vYXBhY2hlMiI7CiAgICAgICAgICRodHRwZENvbmZp
ZyA9ICIkdGVzdERpcmVjdG9yeS9odHRwL2NvbmYvYXBhY2hlMi1kZWJpYW4taHR0cGQuY29uZiI7
CisgICAgfSBlbHNpZiAoaXNGZWRvcmFCYXNlZCgpKSB7CisgICAgICAgICRodHRwZFBhdGggPSAi
L3Vzci9zYmluL2h0dHBkIjsKKyAgICAgICAgJGh0dHBkQ29uZmlnID0gIiR0ZXN0RGlyZWN0b3J5
L2h0dHAvY29uZi9mZWRvcmEtaHR0cGQuY29uZiI7CiAgICAgfSBlbHNlIHsKICAgICAgICAgJGh0
dHBkQ29uZmlnID0gIiR0ZXN0RGlyZWN0b3J5L2h0dHAvY29uZi9odHRwZC5jb25mIjsKICAgICAg
ICAgJGh0dHBkQ29uZmlnID0gIiR0ZXN0RGlyZWN0b3J5L2h0dHAvY29uZi9hcGFjaGUyLWh0dHBk
LmNvbmYiIGlmIGAkaHR0cGRQYXRoIC12YCA9fiBtfEFwYWNoZS8yfDsKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0ZGlycy5wbQppbmRleCBiM2FkZGNmLi41N2I5MmZlIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRk
aXJzLnBtCkBAIC03ODgsNiArNzg4LDExIEBAIHN1YiBpc0RlYmlhbkJhc2VkKCkKICAgICByZXR1
cm4gLWUgIi9ldGMvZGViaWFuX3ZlcnNpb24iOwogfQogCitzdWIgaXNGZWRvcmFCYXNlZCgpCit7
CisgICAgcmV0dXJuIC1lICIvZXRjL2ZlZG9yYS1yZWxlYXNlIjsKK30KKwogc3ViIGlzQ2hyb21p
dW0oKQogewogICAgIGRldGVybWluZUlzQ2hyb21pdW0oKTsKLS0gCjEuNi40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38605</attachid>
            <date>2009-08-26 05:13:21 -0700</date>
            <delta_ts>2009-09-01 05:43:50 -0700</delta_ts>
            <desc>fedorahttpd.patch</desc>
            <filename>fedorahttpd.patch</filename>
            <type>text/plain</type>
            <size>35617</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSA5NjUzODQwNWFmOGQxYWZlNzY5NzQyOWJjODJhMmFiMTUwOTJhYWRlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBX
ZWQsIDI2IEF1ZyAyMDA5IDE1OjEwOjQ1ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gTGF5b3V0VGVz
dHM6CgoyMDA5LTA4LTI2ICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KCiAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgogICAgICAgIEFkZCBzdXBwb3J0IGZvciBGZWRv
cmEgZGlzdHJvcyBpbiB0aGUgaHR0cCB0ZXN0cwogICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yODI2MwoKICAgICAgICBBZGQgaHR0cGQgY29uZiBmaWxlIGZv
ciBGZWRvcmEuCgogICAgICAgICogaHR0cC9jb25mL2ZlZG9yYS1odHRwZC5jb25mOiBBZGRlZC4K
CldlYktpdFRvb2xzOgoKMjAwOS0wOC0yNiAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+
CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBBZGQgc3VwcG9y
dCBmb3IgRmVkb3JhIGRpc3Ryb3MgaW4gdGhlIGh0dHAgdGVzdHMKICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgyNjMKCiAgICAgICAgQWRkIGRldGVjdGlv
biBjb2RlIGZvciBGZWRvcmEgZGlzdHJpYnV0aW9uLCBhbmQgdXNlIHRoZSBwcm9wZXIKICAgICAg
ICBodHRwZCBjb25mIGZpbGUgd2hlbiBuZWVkZWQuCgogICAgICAgICogU2NyaXB0cy9ydW4td2Vi
a2l0LWh0dHBkOgogICAgICAgICogU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzOgogICAgICAgICog
U2NyaXB0cy93ZWJraXRkaXJzLnBtOgotLS0KIExheW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgICB8ICAgMTEgKwogTGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZlZG9yYS1odHRwZC5j
b25mIHwgIDg4MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBXZWJLaXRUb29scy9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgfCAgIDE0ICsKIFdlYktpdFRvb2xzL1NjcmlwdHMv
cnVuLXdlYmtpdC1odHRwZCAgICB8ICAgIDEgKwogV2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4td2Vi
a2l0LXRlc3RzICAgIHwgICAgMyArCiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0g
ICAgICAgfCAgICA1ICsKIDYgZmlsZXMgY2hhbmdlZCwgOTE2IGluc2VydGlvbnMoKyksIDAgZGVs
ZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvaHR0cC9jb25mL2ZlZG9y
YS1odHRwZC5jb25mCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQzYzg0MGQuLjFlZDNiODEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAwOS0wOC0yNiAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IEZlZG9yYSBkaXN0cm9zIGluIHRoZSBodHRwIHRlc3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODI2MworCisgICAgICAgIEFkZCBodHRwZCBjb25m
IGZpbGUgZm9yIEZlZG9yYS4KKworICAgICAgICAqIGh0dHAvY29uZi9mZWRvcmEtaHR0cGQuY29u
ZjogQWRkZWQuCisKIDIwMDktMDgtMjUgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gU2tpcCB0aGUgbmV3IHRlc3QgZmFzdC9kb20vV2lu
ZG93L3RpbWVyLXJlc3VtZS1vbi1uYXZpZ2F0aW9uLWJhY2suaHRtbApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC9jb25mL2ZlZG9yYS1odHRwZC5jb25mIGIvTGF5b3V0VGVzdHMvaHR0cC9j
b25mL2ZlZG9yYS1odHRwZC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjQyNDgzYjMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL2NvbmYvZmVkb3Jh
LWh0dHBkLmNvbmYKQEAgLTAsMCArMSw4ODIgQEAKKyMKKyMgVGhpcyBpcyB0aGUgbWFpbiBBcGFj
aGUgc2VydmVyIGNvbmZpZ3VyYXRpb24gZmlsZS4gIEl0IGNvbnRhaW5zIHRoZQorIyBjb25maWd1
cmF0aW9uIGRpcmVjdGl2ZXMgdGhhdCBnaXZlIHRoZSBzZXJ2ZXIgaXRzIGluc3RydWN0aW9ucy4K
KyMgU2VlIDxVUkw6aHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjIvPiBmb3IgZGV0YWls
ZWQgaW5mb3JtYXRpb24uCisjIEluIHBhcnRpY3VsYXIsIHNlZQorIyA8VVJMOmh0dHA6Ly9odHRw
ZC5hcGFjaGUub3JnL2RvY3MvMi4yL21vZC9kaXJlY3RpdmVzLmh0bWw+CisjIGZvciBhIGRpc2N1
c3Npb24gb2YgZWFjaCBjb25maWd1cmF0aW9uIGRpcmVjdGl2ZS4KKyMKKyMKKyMgRG8gTk9UIHNp
bXBseSByZWFkIHRoZSBpbnN0cnVjdGlvbnMgaW4gaGVyZSB3aXRob3V0IHVuZGVyc3RhbmRpbmcK
KyMgd2hhdCB0aGV5IGRvLiAgVGhleSdyZSBoZXJlIG9ubHkgYXMgaGludHMgb3IgcmVtaW5kZXJz
LiAgSWYgeW91IGFyZSB1bnN1cmUKKyMgY29uc3VsdCB0aGUgb25saW5lIGRvY3MuIFlvdSBoYXZl
IGJlZW4gd2FybmVkLiAgCisjCisjIFRoZSBjb25maWd1cmF0aW9uIGRpcmVjdGl2ZXMgYXJlIGdy
b3VwZWQgaW50byB0aHJlZSBiYXNpYyBzZWN0aW9uczoKKyMgIDEuIERpcmVjdGl2ZXMgdGhhdCBj
b250cm9sIHRoZSBvcGVyYXRpb24gb2YgdGhlIEFwYWNoZSBzZXJ2ZXIgcHJvY2VzcyBhcyBhCisj
ICAgICB3aG9sZSAodGhlICdnbG9iYWwgZW52aXJvbm1lbnQnKS4KKyMgIDIuIERpcmVjdGl2ZXMg
dGhhdCBkZWZpbmUgdGhlIHBhcmFtZXRlcnMgb2YgdGhlICdtYWluJyBvciAnZGVmYXVsdCcgc2Vy
dmVyLAorIyAgICAgd2hpY2ggcmVzcG9uZHMgdG8gcmVxdWVzdHMgdGhhdCBhcmVuJ3QgaGFuZGxl
ZCBieSBhIHZpcnR1YWwgaG9zdC4KKyMgICAgIFRoZXNlIGRpcmVjdGl2ZXMgYWxzbyBwcm92aWRl
IGRlZmF1bHQgdmFsdWVzIGZvciB0aGUgc2V0dGluZ3MKKyMgICAgIG9mIGFsbCB2aXJ0dWFsIGhv
c3RzLgorIyAgMy4gU2V0dGluZ3MgZm9yIHZpcnR1YWwgaG9zdHMsIHdoaWNoIGFsbG93IFdlYiBy
ZXF1ZXN0cyB0byBiZSBzZW50IHRvCisjICAgICBkaWZmZXJlbnQgSVAgYWRkcmVzc2VzIG9yIGhv
c3RuYW1lcyBhbmQgaGF2ZSB0aGVtIGhhbmRsZWQgYnkgdGhlCisjICAgICBzYW1lIEFwYWNoZSBz
ZXJ2ZXIgcHJvY2Vzcy4KKyMKKyMgQ29uZmlndXJhdGlvbiBhbmQgbG9nZmlsZSBuYW1lczogSWYg
dGhlIGZpbGVuYW1lcyB5b3Ugc3BlY2lmeSBmb3IgbWFueQorIyBvZiB0aGUgc2VydmVyJ3MgY29u
dHJvbCBmaWxlcyBiZWdpbiB3aXRoICIvIiAob3IgImRyaXZlOi8iIGZvciBXaW4zMiksIHRoZQor
IyBzZXJ2ZXIgd2lsbCB1c2UgdGhhdCBleHBsaWNpdCBwYXRoLiAgSWYgdGhlIGZpbGVuYW1lcyBk
byAqbm90KiBiZWdpbgorIyB3aXRoICIvIiwgdGhlIHZhbHVlIG9mIFNlcnZlclJvb3QgaXMgcHJl
cGVuZGVkIC0tIHNvICJsb2dzL2Zvby5sb2ciCisjIHdpdGggU2VydmVyUm9vdCBzZXQgdG8gIi9l
dGMvaHR0cGQiIHdpbGwgYmUgaW50ZXJwcmV0ZWQgYnkgdGhlCisjIHNlcnZlciBhcyAiL2V0Yy9o
dHRwZC9sb2dzL2Zvby5sb2ciLgorIworCisjIyMgU2VjdGlvbiAxOiBHbG9iYWwgRW52aXJvbm1l
bnQKKyMKKyMgVGhlIGRpcmVjdGl2ZXMgaW4gdGhpcyBzZWN0aW9uIGFmZmVjdCB0aGUgb3ZlcmFs
bCBvcGVyYXRpb24gb2YgQXBhY2hlLAorIyBzdWNoIGFzIHRoZSBudW1iZXIgb2YgY29uY3VycmVu
dCByZXF1ZXN0cyBpdCBjYW4gaGFuZGxlIG9yIHdoZXJlIGl0CisjIGNhbiBmaW5kIGl0cyBjb25m
aWd1cmF0aW9uIGZpbGVzLgorIworCisjCisjIERvbid0IGdpdmUgYXdheSB0b28gbXVjaCBpbmZv
cm1hdGlvbiBhYm91dCBhbGwgdGhlIHN1YmNvbXBvbmVudHMKKyMgd2UgYXJlIHJ1bm5pbmcuICBD
b21tZW50IG91dCB0aGlzIGxpbmUgaWYgeW91IGRvbid0IG1pbmQgcmVtb3RlIHNpdGVzCisjIGZp
bmRpbmcgb3V0IHdoYXQgbWFqb3Igb3B0aW9uYWwgbW9kdWxlcyB5b3UgYXJlIHJ1bm5pbmcKK1Nl
cnZlclRva2VucyBPUworCisjCisjIFNlcnZlclJvb3Q6IFRoZSB0b3Agb2YgdGhlIGRpcmVjdG9y
eSB0cmVlIHVuZGVyIHdoaWNoIHRoZSBzZXJ2ZXIncworIyBjb25maWd1cmF0aW9uLCBlcnJvciwg
YW5kIGxvZyBmaWxlcyBhcmUga2VwdC4KKyMKKyMgTk9URSEgIElmIHlvdSBpbnRlbmQgdG8gcGxh
Y2UgdGhpcyBvbiBhbiBORlMgKG9yIG90aGVyd2lzZSBuZXR3b3JrKQorIyBtb3VudGVkIGZpbGVz
eXN0ZW0gdGhlbiBwbGVhc2UgcmVhZCB0aGUgTG9ja0ZpbGUgZG9jdW1lbnRhdGlvbgorIyAoYXZh
aWxhYmxlIGF0IDxVUkw6aHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjIvbW9kL21wbV9j
b21tb24uaHRtbCNsb2NrZmlsZT4pOworIyB5b3Ugd2lsbCBzYXZlIHlvdXJzZWxmIGEgbG90IG9m
IHRyb3VibGUuCisjCisjIERvIE5PVCBhZGQgYSBzbGFzaCBhdCB0aGUgZW5kIG9mIHRoZSBkaXJl
Y3RvcnkgcGF0aC4KKyMKK1NlcnZlclJvb3QgIi9ldGMvaHR0cGQiCisKKyMKKyMgUGlkRmlsZTog
VGhlIGZpbGUgaW4gd2hpY2ggdGhlIHNlcnZlciBzaG91bGQgcmVjb3JkIGl0cyBwcm9jZXNzCisj
IGlkZW50aWZpY2F0aW9uIG51bWJlciB3aGVuIGl0IHN0YXJ0cy4KKyMKK0xvY2tGaWxlICIvdG1w
L1dlYktpdC9odHRwZC5sb2NrIgorCisjCisjIFBpZEZpbGU6IFRoZSBmaWxlIGluIHdoaWNoIHRo
ZSBzZXJ2ZXIgc2hvdWxkIHJlY29yZCBpdHMgcHJvY2VzcworIyBpZGVudGlmaWNhdGlvbiBudW1i
ZXIgd2hlbiBpdCBzdGFydHMuCisjCitQaWRGaWxlICIvdG1wL1dlYktpdC9odHRwZC5waWQiCisK
KyMKKyMgU2NvcmVCb2FyZEZpbGU6IEZpbGUgdXNlZCB0byBzdG9yZSBpbnRlcm5hbCBzZXJ2ZXIg
cHJvY2VzcyBpbmZvcm1hdGlvbi4KKyMgTm90IGFsbCBhcmNoaXRlY3R1cmVzIHJlcXVpcmUgdGhp
cy4gIEJ1dCBpZiB5b3VycyBkb2VzICh5b3UnbGwga25vdyBiZWNhdXNlCisjIHRoaXMgZmlsZSB3
aWxsIGJlICBjcmVhdGVkIHdoZW4geW91IHJ1biBBcGFjaGUpIHRoZW4geW91ICptdXN0KiBlbnN1
cmUgdGhhdAorIyBubyB0d28gaW52b2NhdGlvbnMgb2YgQXBhY2hlIHNoYXJlIHRoZSBzYW1lIHNj
b3JlYm9hcmQgZmlsZS4KKyMKK1Njb3JlQm9hcmRGaWxlICIvdG1wL1dlYktpdC9odHRwZC5zY29y
ZWJvYXJkIgorCisjCisjIFRpbWVvdXQ6IFRoZSBudW1iZXIgb2Ygc2Vjb25kcyBiZWZvcmUgcmVj
ZWl2ZXMgYW5kIHNlbmRzIHRpbWUgb3V0LgorIworVGltZW91dCAzMDAKKworIworIyBLZWVwQWxp
dmU6IFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IHBlcnNpc3RlbnQgY29ubmVjdGlvbnMgKG1vcmUg
dGhhbgorIyBvbmUgcmVxdWVzdCBwZXIgY29ubmVjdGlvbikuIFNldCB0byAiT2ZmIiB0byBkZWFj
dGl2YXRlLgorIworS2VlcEFsaXZlIE9uCisKKyMKKyMgTWF4S2VlcEFsaXZlUmVxdWVzdHM6IFRo
ZSBtYXhpbXVtIG51bWJlciBvZiByZXF1ZXN0cyB0byBhbGxvdworIyBkdXJpbmcgYSBwZXJzaXN0
ZW50IGNvbm5lY3Rpb24uIFNldCB0byAwIHRvIGFsbG93IGFuIHVubGltaXRlZCBhbW91bnQuCisj
IFdlIHJlY29tbWVuZCB5b3UgbGVhdmUgdGhpcyBudW1iZXIgaGlnaCwgZm9yIG1heGltdW0gcGVy
Zm9ybWFuY2UuCisjCitNYXhLZWVwQWxpdmVSZXF1ZXN0cyAxMDAKKworIworIyBLZWVwQWxpdmVU
aW1lb3V0OiBOdW1iZXIgb2Ygc2Vjb25kcyB0byB3YWl0IGZvciB0aGUgbmV4dCByZXF1ZXN0IGZy
b20gdGhlCisjIHNhbWUgY2xpZW50IG9uIHRoZSBzYW1lIGNvbm5lY3Rpb24uCisjCitLZWVwQWxp
dmVUaW1lb3V0IDE1CisKK01pblNwYXJlU2VydmVycyAxCitNYXhTcGFyZVNlcnZlcnMgNQorU3Rh
cnRTZXJ2ZXJzIDEKK01heENsaWVudHMgMTUwCisKKyMjCisjIyBTZXJ2ZXItUG9vbCBTaXplIFJl
Z3VsYXRpb24gKE1QTSBzcGVjaWZpYykKKyMjIAorCisjIHByZWZvcmsgTVBNCisjIFN0YXJ0U2Vy
dmVyczogbnVtYmVyIG9mIHNlcnZlciBwcm9jZXNzZXMgdG8gc3RhcnQKKyMgTWluU3BhcmVTZXJ2
ZXJzOiBtaW5pbXVtIG51bWJlciBvZiBzZXJ2ZXIgcHJvY2Vzc2VzIHdoaWNoIGFyZSBrZXB0IHNw
YXJlCisjIE1heFNwYXJlU2VydmVyczogbWF4aW11bSBudW1iZXIgb2Ygc2VydmVyIHByb2Nlc3Nl
cyB3aGljaCBhcmUga2VwdCBzcGFyZQorIyBTZXJ2ZXJMaW1pdDogbWF4aW11bSB2YWx1ZSBmb3Ig
TWF4Q2xpZW50cyBmb3IgdGhlIGxpZmV0aW1lIG9mIHRoZSBzZXJ2ZXIKKyMgTWF4Q2xpZW50czog
bWF4aW11bSBudW1iZXIgb2Ygc2VydmVyIHByb2Nlc3NlcyBhbGxvd2VkIHRvIHN0YXJ0CisjIE1h
eFJlcXVlc3RzUGVyQ2hpbGQ6IG1heGltdW0gbnVtYmVyIG9mIHJlcXVlc3RzIGEgc2VydmVyIHBy
b2Nlc3Mgc2VydmVzCisKKyMgd29ya2VyIE1QTQorIyBTdGFydFNlcnZlcnM6IGluaXRpYWwgbnVt
YmVyIG9mIHNlcnZlciBwcm9jZXNzZXMgdG8gc3RhcnQKKyMgTWF4Q2xpZW50czogbWF4aW11bSBu
dW1iZXIgb2Ygc2ltdWx0YW5lb3VzIGNsaWVudCBjb25uZWN0aW9ucworIyBNaW5TcGFyZVRocmVh
ZHM6IG1pbmltdW0gbnVtYmVyIG9mIHdvcmtlciB0aHJlYWRzIHdoaWNoIGFyZSBrZXB0IHNwYXJl
CisjIE1heFNwYXJlVGhyZWFkczogbWF4aW11bSBudW1iZXIgb2Ygd29ya2VyIHRocmVhZHMgd2hp
Y2ggYXJlIGtlcHQgc3BhcmUKKyMgVGhyZWFkc1BlckNoaWxkOiBjb25zdGFudCBudW1iZXIgb2Yg
d29ya2VyIHRocmVhZHMgaW4gZWFjaCBzZXJ2ZXIgcHJvY2VzcworIyBNYXhSZXF1ZXN0c1BlckNo
aWxkOiBtYXhpbXVtIG51bWJlciBvZiByZXF1ZXN0cyBhIHNlcnZlciBwcm9jZXNzIHNlcnZlcwor
CitNYXhSZXF1ZXN0c1BlckNoaWxkIDEwMDAwMAorCisjCisjIExpc3RlbjogQWxsb3dzIHlvdSB0
byBiaW5kIEFwYWNoZSB0byBzcGVjaWZpYyBJUCBhZGRyZXNzZXMgYW5kL29yCisjIHBvcnRzLCBp
biBhZGRpdGlvbiB0byB0aGUgZGVmYXVsdC4gU2VlIGFsc28gdGhlIDxWaXJ0dWFsSG9zdD4KKyMg
ZGlyZWN0aXZlLgorIworIyBDaGFuZ2UgdGhpcyB0byBMaXN0ZW4gb24gc3BlY2lmaWMgSVAgYWRk
cmVzc2VzIGFzIHNob3duIGJlbG93IHRvIAorIyBwcmV2ZW50IEFwYWNoZSBmcm9tIGdsb21taW5n
IG9udG8gYWxsIGJvdW5kIElQIGFkZHJlc3NlcyAoMC4wLjAuMCkKKyMKKyNMaXN0ZW4gMTIuMzQu
NTYuNzg6ODAKK0xpc3RlbiAxMjcuMC4wLjE6ODA4MAorTGlzdGVuIDEyNy4wLjAuMTo4NDQzCisK
KyMKKyMgRHluYW1pYyBTaGFyZWQgT2JqZWN0IChEU08pIFN1cHBvcnQKKyMKKyMgVG8gYmUgYWJs
ZSB0byB1c2UgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgYSBtb2R1bGUgd2hpY2ggd2FzIGJ1aWx0IGFz
IGEgRFNPIHlvdQorIyBoYXZlIHRvIHBsYWNlIGNvcnJlc3BvbmRpbmcgYExvYWRNb2R1bGUnIGxp
bmVzIGF0IHRoaXMgbG9jYXRpb24gc28gdGhlCisjIGRpcmVjdGl2ZXMgY29udGFpbmVkIGluIGl0
IGFyZSBhY3R1YWxseSBhdmFpbGFibGUgX2JlZm9yZV8gdGhleSBhcmUgdXNlZC4KKyMgU3RhdGlj
YWxseSBjb21waWxlZCBtb2R1bGVzICh0aG9zZSBsaXN0ZWQgYnkgYGh0dHBkIC1sJykgZG8gbm90
IG5lZWQKKyMgdG8gYmUgbG9hZGVkIGhlcmUuCisjCisjIEV4YW1wbGU6CisjIExvYWRNb2R1bGUg
Zm9vX21vZHVsZSBtb2R1bGVzL21vZF9mb28uc28KKyMKK0xvYWRNb2R1bGUgYXV0aF9iYXNpY19t
b2R1bGUgbW9kdWxlcy9tb2RfYXV0aF9iYXNpYy5zbworTG9hZE1vZHVsZSBhdXRoX2RpZ2VzdF9t
b2R1bGUgbW9kdWxlcy9tb2RfYXV0aF9kaWdlc3Quc28KK0xvYWRNb2R1bGUgYXV0aG5fZmlsZV9t
b2R1bGUgbW9kdWxlcy9tb2RfYXV0aG5fZmlsZS5zbworTG9hZE1vZHVsZSBhdXRobl9hbGlhc19t
b2R1bGUgbW9kdWxlcy9tb2RfYXV0aG5fYWxpYXMuc28KK0xvYWRNb2R1bGUgYXV0aG5fYW5vbl9t
b2R1bGUgbW9kdWxlcy9tb2RfYXV0aG5fYW5vbi5zbworTG9hZE1vZHVsZSBhdXRobl9kYm1fbW9k
dWxlIG1vZHVsZXMvbW9kX2F1dGhuX2RibS5zbworTG9hZE1vZHVsZSBhdXRobl9kZWZhdWx0X21v
ZHVsZSBtb2R1bGVzL21vZF9hdXRobl9kZWZhdWx0LnNvCitMb2FkTW9kdWxlIGF1dGh6X2hvc3Rf
bW9kdWxlIG1vZHVsZXMvbW9kX2F1dGh6X2hvc3Quc28KK0xvYWRNb2R1bGUgYXV0aHpfdXNlcl9t
b2R1bGUgbW9kdWxlcy9tb2RfYXV0aHpfdXNlci5zbworTG9hZE1vZHVsZSBhdXRoel9vd25lcl9t
b2R1bGUgbW9kdWxlcy9tb2RfYXV0aHpfb3duZXIuc28KK0xvYWRNb2R1bGUgYXV0aHpfZ3JvdXBm
aWxlX21vZHVsZSBtb2R1bGVzL21vZF9hdXRoel9ncm91cGZpbGUuc28KK0xvYWRNb2R1bGUgYXV0
aHpfZGJtX21vZHVsZSBtb2R1bGVzL21vZF9hdXRoel9kYm0uc28KK0xvYWRNb2R1bGUgYXV0aHpf
ZGVmYXVsdF9tb2R1bGUgbW9kdWxlcy9tb2RfYXV0aHpfZGVmYXVsdC5zbworTG9hZE1vZHVsZSBs
ZGFwX21vZHVsZSBtb2R1bGVzL21vZF9sZGFwLnNvCitMb2FkTW9kdWxlIGF1dGhuel9sZGFwX21v
ZHVsZSBtb2R1bGVzL21vZF9hdXRobnpfbGRhcC5zbworTG9hZE1vZHVsZSBpbmNsdWRlX21vZHVs
ZSBtb2R1bGVzL21vZF9pbmNsdWRlLnNvCitMb2FkTW9kdWxlIGxvZ19jb25maWdfbW9kdWxlIG1v
ZHVsZXMvbW9kX2xvZ19jb25maWcuc28KK0xvYWRNb2R1bGUgbG9naW9fbW9kdWxlIG1vZHVsZXMv
bW9kX2xvZ2lvLnNvCitMb2FkTW9kdWxlIGVudl9tb2R1bGUgbW9kdWxlcy9tb2RfZW52LnNvCitM
b2FkTW9kdWxlIGV4dF9maWx0ZXJfbW9kdWxlIG1vZHVsZXMvbW9kX2V4dF9maWx0ZXIuc28KK0xv
YWRNb2R1bGUgbWltZV9tYWdpY19tb2R1bGUgbW9kdWxlcy9tb2RfbWltZV9tYWdpYy5zbworTG9h
ZE1vZHVsZSBleHBpcmVzX21vZHVsZSBtb2R1bGVzL21vZF9leHBpcmVzLnNvCitMb2FkTW9kdWxl
IGRlZmxhdGVfbW9kdWxlIG1vZHVsZXMvbW9kX2RlZmxhdGUuc28KK0xvYWRNb2R1bGUgaGVhZGVy
c19tb2R1bGUgbW9kdWxlcy9tb2RfaGVhZGVycy5zbworTG9hZE1vZHVsZSB1c2VydHJhY2tfbW9k
dWxlIG1vZHVsZXMvbW9kX3VzZXJ0cmFjay5zbworTG9hZE1vZHVsZSBzZXRlbnZpZl9tb2R1bGUg
bW9kdWxlcy9tb2Rfc2V0ZW52aWYuc28KK0xvYWRNb2R1bGUgbWltZV9tb2R1bGUgbW9kdWxlcy9t
b2RfbWltZS5zbworTG9hZE1vZHVsZSBkYXZfbW9kdWxlIG1vZHVsZXMvbW9kX2Rhdi5zbworTG9h
ZE1vZHVsZSBzdGF0dXNfbW9kdWxlIG1vZHVsZXMvbW9kX3N0YXR1cy5zbworTG9hZE1vZHVsZSBh
dXRvaW5kZXhfbW9kdWxlIG1vZHVsZXMvbW9kX2F1dG9pbmRleC5zbworTG9hZE1vZHVsZSBpbmZv
X21vZHVsZSBtb2R1bGVzL21vZF9pbmZvLnNvCitMb2FkTW9kdWxlIGRhdl9mc19tb2R1bGUgbW9k
dWxlcy9tb2RfZGF2X2ZzLnNvCitMb2FkTW9kdWxlIHZob3N0X2FsaWFzX21vZHVsZSBtb2R1bGVz
L21vZF92aG9zdF9hbGlhcy5zbworTG9hZE1vZHVsZSBuZWdvdGlhdGlvbl9tb2R1bGUgbW9kdWxl
cy9tb2RfbmVnb3RpYXRpb24uc28KK0xvYWRNb2R1bGUgZGlyX21vZHVsZSBtb2R1bGVzL21vZF9k
aXIuc28KK0xvYWRNb2R1bGUgYWN0aW9uc19tb2R1bGUgbW9kdWxlcy9tb2RfYWN0aW9ucy5zbwor
TG9hZE1vZHVsZSBzcGVsaW5nX21vZHVsZSBtb2R1bGVzL21vZF9zcGVsaW5nLnNvCitMb2FkTW9k
dWxlIHVzZXJkaXJfbW9kdWxlIG1vZHVsZXMvbW9kX3VzZXJkaXIuc28KK0xvYWRNb2R1bGUgYWxp
YXNfbW9kdWxlIG1vZHVsZXMvbW9kX2FsaWFzLnNvCitMb2FkTW9kdWxlIHJld3JpdGVfbW9kdWxl
IG1vZHVsZXMvbW9kX3Jld3JpdGUuc28KK0xvYWRNb2R1bGUgcHJveHlfbW9kdWxlIG1vZHVsZXMv
bW9kX3Byb3h5LnNvCitMb2FkTW9kdWxlIHByb3h5X2JhbGFuY2VyX21vZHVsZSBtb2R1bGVzL21v
ZF9wcm94eV9iYWxhbmNlci5zbworTG9hZE1vZHVsZSBwcm94eV9mdHBfbW9kdWxlIG1vZHVsZXMv
bW9kX3Byb3h5X2Z0cC5zbworTG9hZE1vZHVsZSBwcm94eV9odHRwX21vZHVsZSBtb2R1bGVzL21v
ZF9wcm94eV9odHRwLnNvCitMb2FkTW9kdWxlIHByb3h5X2Nvbm5lY3RfbW9kdWxlIG1vZHVsZXMv
bW9kX3Byb3h5X2Nvbm5lY3Quc28KK0xvYWRNb2R1bGUgY2FjaGVfbW9kdWxlIG1vZHVsZXMvbW9k
X2NhY2hlLnNvCitMb2FkTW9kdWxlIHN1ZXhlY19tb2R1bGUgbW9kdWxlcy9tb2Rfc3VleGVjLnNv
CitMb2FkTW9kdWxlIGRpc2tfY2FjaGVfbW9kdWxlIG1vZHVsZXMvbW9kX2Rpc2tfY2FjaGUuc28K
K0xvYWRNb2R1bGUgZmlsZV9jYWNoZV9tb2R1bGUgbW9kdWxlcy9tb2RfZmlsZV9jYWNoZS5zbwor
TG9hZE1vZHVsZSBtZW1fY2FjaGVfbW9kdWxlIG1vZHVsZXMvbW9kX21lbV9jYWNoZS5zbworTG9h
ZE1vZHVsZSBjZ2lfbW9kdWxlIG1vZHVsZXMvbW9kX2NnaS5zbworTG9hZE1vZHVsZSBzc2xfbW9k
dWxlIG1vZHVsZXMvbW9kX3NzbC5zbworTG9hZE1vZHVsZSBwaHA1X21vZHVsZSBtb2R1bGVzL2xp
YnBocDUuc28KKworIworIyBUaGUgZm9sbG93aW5nIG1vZHVsZXMgYXJlIG5vdCBsb2FkZWQgYnkg
ZGVmYXVsdDoKKyMKKyNMb2FkTW9kdWxlIGNlcm5fbWV0YV9tb2R1bGUgbW9kdWxlcy9tb2RfY2Vy
bl9tZXRhLnNvCisjTG9hZE1vZHVsZSBhc2lzX21vZHVsZSBtb2R1bGVzL21vZF9hc2lzLnNvCisK
KyMKKyMgTG9hZCBjb25maWcgZmlsZXMgZnJvbSB0aGUgY29uZmlnIGRpcmVjdG9yeSAiL2V0Yy9o
dHRwZC9jb25mLmQiLgorIworI0luY2x1ZGUgY29uZi5kLyouY29uZgorCisjCisjIEV4dGVuZGVk
U3RhdHVzIGNvbnRyb2xzIHdoZXRoZXIgQXBhY2hlIHdpbGwgZ2VuZXJhdGUgImZ1bGwiIHN0YXR1
cworIyBpbmZvcm1hdGlvbiAoRXh0ZW5kZWRTdGF0dXMgT24pIG9yIGp1c3QgYmFzaWMgaW5mb3Jt
YXRpb24gKEV4dGVuZGVkU3RhdHVzCisjIE9mZikgd2hlbiB0aGUgInNlcnZlci1zdGF0dXMiIGhh
bmRsZXIgaXMgY2FsbGVkLiBUaGUgZGVmYXVsdCBpcyBPZmYuCisjCisjRXh0ZW5kZWRTdGF0dXMg
T24KKworIworIyBJZiB5b3Ugd2lzaCBodHRwZCB0byBydW4gYXMgYSBkaWZmZXJlbnQgdXNlciBv
ciBncm91cCwgeW91IG11c3QgcnVuCisjIGh0dHBkIGFzIHJvb3QgaW5pdGlhbGx5IGFuZCBpdCB3
aWxsIHN3aXRjaC4gIAorIworIyBVc2VyL0dyb3VwOiBUaGUgbmFtZSAob3IgI251bWJlcikgb2Yg
dGhlIHVzZXIvZ3JvdXAgdG8gcnVuIGh0dHBkIGFzLgorIyAgLiBPbiBTQ08gKE9EVCAzKSB1c2Ug
IlVzZXIgbm91c2VyIiBhbmQgIkdyb3VwIG5vZ3JvdXAiLgorIyAgLiBPbiBIUFVYIHlvdSBtYXkg
bm90IGJlIGFibGUgdG8gdXNlIHNoYXJlZCBtZW1vcnkgYXMgbm9ib2R5LCBhbmQgdGhlCisjICAg
IHN1Z2dlc3RlZCB3b3JrYXJvdW5kIGlzIHRvIGNyZWF0ZSBhIHVzZXIgd3d3IGFuZCB1c2UgdGhh
dCB1c2VyLgorIyAgTk9URSB0aGF0IHNvbWUga2VybmVscyByZWZ1c2UgdG8gc2V0Z2lkKEdyb3Vw
KSBvciBzZW1jdGwoSVBDX1NFVCkKKyMgIHdoZW4gdGhlIHZhbHVlIG9mICh1bnNpZ25lZClHcm91
cCBpcyBhYm92ZSA2MDAwMDsgCisjICBkb24ndCB1c2UgR3JvdXAgIy0xIG9uIHRoZXNlIHN5c3Rl
bXMhCisjCitVc2VyIGFwYWNoZQorR3JvdXAgYXBhY2hlCisKKyMjIyBTZWN0aW9uIDI6ICdNYWlu
JyBzZXJ2ZXIgY29uZmlndXJhdGlvbgorIworIyBUaGUgZGlyZWN0aXZlcyBpbiB0aGlzIHNlY3Rp
b24gc2V0IHVwIHRoZSB2YWx1ZXMgdXNlZCBieSB0aGUgJ21haW4nCisjIHNlcnZlciwgd2hpY2gg
cmVzcG9uZHMgdG8gYW55IHJlcXVlc3RzIHRoYXQgYXJlbid0IGhhbmRsZWQgYnkgYQorIyA8Vmly
dHVhbEhvc3Q+IGRlZmluaXRpb24uICBUaGVzZSB2YWx1ZXMgYWxzbyBwcm92aWRlIGRlZmF1bHRz
IGZvcgorIyBhbnkgPFZpcnR1YWxIb3N0PiBjb250YWluZXJzIHlvdSBtYXkgZGVmaW5lIGxhdGVy
IGluIHRoZSBmaWxlLgorIworIyBBbGwgb2YgdGhlc2UgZGlyZWN0aXZlcyBtYXkgYXBwZWFyIGlu
c2lkZSA8VmlydHVhbEhvc3Q+IGNvbnRhaW5lcnMsCisjIGluIHdoaWNoIGNhc2UgdGhlc2UgZGVm
YXVsdCBzZXR0aW5ncyB3aWxsIGJlIG92ZXJyaWRkZW4gZm9yIHRoZQorIyB2aXJ0dWFsIGhvc3Qg
YmVpbmcgZGVmaW5lZC4KKyMKKworIworIyBTZXJ2ZXJBZG1pbjogWW91ciBhZGRyZXNzLCB3aGVy
ZSBwcm9ibGVtcyB3aXRoIHRoZSBzZXJ2ZXIgc2hvdWxkIGJlCisjIGUtbWFpbGVkLiAgVGhpcyBh
ZGRyZXNzIGFwcGVhcnMgb24gc29tZSBzZXJ2ZXItZ2VuZXJhdGVkIHBhZ2VzLCBzdWNoCisjIGFz
IGVycm9yIGRvY3VtZW50cy4gIGUuZy4gYWRtaW5AeW91ci1kb21haW4uY29tCisjCitTZXJ2ZXJB
ZG1pbiByb290QGxvY2FsaG9zdAorCisjCisjIFNlcnZlck5hbWUgZ2l2ZXMgdGhlIG5hbWUgYW5k
IHBvcnQgdGhhdCB0aGUgc2VydmVyIHVzZXMgdG8gaWRlbnRpZnkgaXRzZWxmLgorIyBUaGlzIGNh
biBvZnRlbiBiZSBkZXRlcm1pbmVkIGF1dG9tYXRpY2FsbHksIGJ1dCB3ZSByZWNvbW1lbmQgeW91
IHNwZWNpZnkKKyMgaXQgZXhwbGljaXRseSB0byBwcmV2ZW50IHByb2JsZW1zIGR1cmluZyBzdGFy
dHVwLgorIworIyBJZiB0aGlzIGlzIG5vdCBzZXQgdG8gdmFsaWQgRE5TIG5hbWUgZm9yIHlvdXIg
aG9zdCwgc2VydmVyLWdlbmVyYXRlZAorIyByZWRpcmVjdGlvbnMgd2lsbCBub3Qgd29yay4gIFNl
ZSBhbHNvIHRoZSBVc2VDYW5vbmljYWxOYW1lIGRpcmVjdGl2ZS4KKyMKKyMgSWYgeW91ciBob3N0
IGRvZXNuJ3QgaGF2ZSBhIHJlZ2lzdGVyZWQgRE5TIG5hbWUsIGVudGVyIGl0cyBJUCBhZGRyZXNz
IGhlcmUuCisjIFlvdSB3aWxsIGhhdmUgdG8gYWNjZXNzIGl0IGJ5IGl0cyBhZGRyZXNzIGFueXdh
eSwgYW5kIHRoaXMgd2lsbCBtYWtlIAorIyByZWRpcmVjdGlvbnMgd29yayBpbiBhIHNlbnNpYmxl
IHdheS4KKyMKK1NlcnZlck5hbWUgMTI3LjAuMC4xCisKKyMKKyMgVXNlQ2Fub25pY2FsTmFtZTog
RGV0ZXJtaW5lcyBob3cgQXBhY2hlIGNvbnN0cnVjdHMgc2VsZi1yZWZlcmVuY2luZyAKKyMgVVJM
cyBhbmQgdGhlIFNFUlZFUl9OQU1FIGFuZCBTRVJWRVJfUE9SVCB2YXJpYWJsZXMuCisjIFdoZW4g
c2V0ICJPZmYiLCBBcGFjaGUgd2lsbCB1c2UgdGhlIEhvc3RuYW1lIGFuZCBQb3J0IHN1cHBsaWVk
CisjIGJ5IHRoZSBjbGllbnQuICBXaGVuIHNldCAiT24iLCBBcGFjaGUgd2lsbCB1c2UgdGhlIHZh
bHVlIG9mIHRoZQorIyBTZXJ2ZXJOYW1lIGRpcmVjdGl2ZS4KKyMKK1VzZUNhbm9uaWNhbE5hbWUg
T24KKworIworIyBEb2N1bWVudFJvb3Q6IFRoZSBkaXJlY3Rvcnkgb3V0IG9mIHdoaWNoIHlvdSB3
aWxsIHNlcnZlIHlvdXIKKyMgZG9jdW1lbnRzLiBCeSBkZWZhdWx0LCBhbGwgcmVxdWVzdHMgYXJl
IHRha2VuIGZyb20gdGhpcyBkaXJlY3RvcnksIGJ1dAorIyBzeW1ib2xpYyBsaW5rcyBhbmQgYWxp
YXNlcyBtYXkgYmUgdXNlZCB0byBwb2ludCB0byBvdGhlciBsb2NhdGlvbnMuCisjCisjRG9jdW1l
bnRSb290ICIvdmFyL3d3dy9odG1sIgorCisjCisjIEVhY2ggZGlyZWN0b3J5IHRvIHdoaWNoIEFw
YWNoZSBoYXMgYWNjZXNzIGNhbiBiZSBjb25maWd1cmVkIHdpdGggcmVzcGVjdAorIyB0byB3aGlj
aCBzZXJ2aWNlcyBhbmQgZmVhdHVyZXMgYXJlIGFsbG93ZWQgYW5kL29yIGRpc2FibGVkIGluIHRo
YXQKKyMgZGlyZWN0b3J5IChhbmQgaXRzIHN1YmRpcmVjdG9yaWVzKS4gCisjCisjIE5vdGUgdGhh
dCBmcm9tIHRoaXMgcG9pbnQgZm9yd2FyZCB5b3UgbXVzdCBzcGVjaWZpY2FsbHkgYWxsb3cKKyMg
cGFydGljdWxhciBmZWF0dXJlcyB0byBiZSBlbmFibGVkIC0gc28gaWYgc29tZXRoaW5nJ3Mgbm90
IHdvcmtpbmcgYXMKKyMgeW91IG1pZ2h0IGV4cGVjdCwgbWFrZSBzdXJlIHRoYXQgeW91IGhhdmUg
c3BlY2lmaWNhbGx5IGVuYWJsZWQgaXQKKyMgYmVsb3cuCisjCisKKyMKKyMgVGhpcyBzaG91bGQg
YmUgY2hhbmdlZCB0byB3aGF0ZXZlciB5b3Ugc2V0IERvY3VtZW50Um9vdCB0by4KKyMKKzxEaXJl
Y3RvcnkgLz4KKworIworIyBQb3NzaWJsZSB2YWx1ZXMgZm9yIHRoZSBPcHRpb25zIGRpcmVjdGl2
ZSBhcmUgIk5vbmUiLCAiQWxsIiwKKyMgb3IgYW55IGNvbWJpbmF0aW9uIG9mOgorIyAgIEluZGV4
ZXMgSW5jbHVkZXMgRm9sbG93U3ltTGlua3MgU3ltTGlua3NpZk93bmVyTWF0Y2ggRXhlY0NHSSBN
dWx0aVZpZXdzCisjCisjIE5vdGUgdGhhdCAiTXVsdGlWaWV3cyIgbXVzdCBiZSBuYW1lZCAqZXhw
bGljaXRseSogLS0tICJPcHRpb25zIEFsbCIKKyMgZG9lc24ndCBnaXZlIGl0IHRvIHlvdS4KKyMK
KyMgVGhlIE9wdGlvbnMgZGlyZWN0aXZlIGlzIGJvdGggY29tcGxpY2F0ZWQgYW5kIGltcG9ydGFu
dC4gIFBsZWFzZSBzZWUKKyMgaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjIvbW9kL2Nv
cmUuaHRtbCNvcHRpb25zCisjIGZvciBtb3JlIGluZm9ybWF0aW9uLgorIworICAgIE9wdGlvbnMg
SW5kZXhlcyBGb2xsb3dTeW1MaW5rcyBNdWx0aVZpZXdzIEV4ZWNDR0kgSW5jbHVkZXMKKworIwor
IyBBbGxvd092ZXJyaWRlIGNvbnRyb2xzIHdoYXQgZGlyZWN0aXZlcyBtYXkgYmUgcGxhY2VkIGlu
IC5odGFjY2VzcyBmaWxlcy4KKyMgSXQgY2FuIGJlICJBbGwiLCAiTm9uZSIsIG9yIGFueSBjb21i
aW5hdGlvbiBvZiB0aGUga2V5d29yZHM6CisjICAgT3B0aW9ucyBGaWxlSW5mbyBBdXRoQ29uZmln
IExpbWl0CisjCisgICAgQWxsb3dPdmVycmlkZSBBbGwKKworIworIyBDb250cm9scyB3aG8gY2Fu
IGdldCBzdHVmZiBmcm9tIHRoaXMgc2VydmVyLgorIworICAgIE9yZGVyIGFsbG93LGRlbnkKKyAg
ICBBbGxvdyBmcm9tIGFsbAorCis8L0RpcmVjdG9yeT4KKworIworIworIyBDb250cm9sIGFjY2Vz
cyB0byBVc2VyRGlyIGRpcmVjdG9yaWVzLiAgVGhlIGZvbGxvd2luZyBpcyBhbiBleGFtcGxlCisj
IGZvciBhIHNpdGUgd2hlcmUgdGhlc2UgZGlyZWN0b3JpZXMgYXJlIHJlc3RyaWN0ZWQgdG8gcmVh
ZC1vbmx5LgorIworIzxEaXJlY3RvcnkgL2hvbWUvKi9wdWJsaWNfaHRtbD4KKyMgICAgQWxsb3dP
dmVycmlkZSBGaWxlSW5mbyBBdXRoQ29uZmlnIExpbWl0CisjICAgIE9wdGlvbnMgTXVsdGlWaWV3
cyBJbmRleGVzIFN5bUxpbmtzSWZPd25lck1hdGNoIEluY2x1ZGVzTm9FeGVjCisjICAgIDxMaW1p
dCBHRVQgUE9TVCBPUFRJT05TPgorIyAgICAgICAgT3JkZXIgYWxsb3csZGVueQorIyAgICAgICAg
QWxsb3cgZnJvbSBhbGwKKyMgICAgPC9MaW1pdD4KKyMgICAgPExpbWl0RXhjZXB0IEdFVCBQT1NU
IE9QVElPTlM+CisjICAgICAgICBPcmRlciBkZW55LGFsbG93CisjICAgICAgICBEZW55IGZyb20g
YWxsCisjICAgIDwvTGltaXRFeGNlcHQ+CisjPC9EaXJlY3Rvcnk+CisKKyMKKyMgRGlyZWN0b3J5
SW5kZXg6IHNldHMgdGhlIGZpbGUgdGhhdCBBcGFjaGUgd2lsbCBzZXJ2ZSBpZiBhIGRpcmVjdG9y
eQorIyBpcyByZXF1ZXN0ZWQuCisjCisjIFRoZSBpbmRleC5odG1sLnZhciBmaWxlIChhIHR5cGUt
bWFwKSBpcyB1c2VkIHRvIGRlbGl2ZXIgY29udGVudC0KKyMgbmVnb3RpYXRlZCBkb2N1bWVudHMu
ICBUaGUgTXVsdGlWaWV3cyBPcHRpb24gY2FuIGJlIHVzZWQgZm9yIHRoZSAKKyMgc2FtZSBwdXJw
b3NlLCBidXQgaXQgaXMgbXVjaCBzbG93ZXIuCisjCitEaXJlY3RvcnlJbmRleCBpbmRleC5odG1s
IGluZGV4Lmh0bWwudmFyCisKKyMKKyMgQWNjZXNzRmlsZU5hbWU6IFRoZSBuYW1lIG9mIHRoZSBm
aWxlIHRvIGxvb2sgZm9yIGluIGVhY2ggZGlyZWN0b3J5CisjIGZvciBhZGRpdGlvbmFsIGNvbmZp
Z3VyYXRpb24gZGlyZWN0aXZlcy4gIFNlZSBhbHNvIHRoZSBBbGxvd092ZXJyaWRlCisjIGRpcmVj
dGl2ZS4KKyMKK0FjY2Vzc0ZpbGVOYW1lIC5odGFjY2VzcworCisjCisjIFRoZSBmb2xsb3dpbmcg
bGluZXMgcHJldmVudCAuaHRhY2Nlc3MgYW5kIC5odHBhc3N3ZCBmaWxlcyBmcm9tIGJlaW5nIAor
IyB2aWV3ZWQgYnkgV2ViIGNsaWVudHMuIAorIworPEZpbGVzIH4gIl5cLihbSGhdW1R0XXxbRGRd
W1NzXV9bU3NdKSI+CisgICAgT3JkZXIgYWxsb3csZGVueQorICAgIERlbnkgZnJvbSBhbGwKKyAg
ICBTYXRpc2Z5IEFsbAorPC9GaWxlcz4KKworIworIyBBcHBsZSBzcGVjaWZpYyBmaWxlc3lzdGVt
IHByb3RlY3Rpb24uCisjIAorCis8RmlsZXMgInJzcmMiPgorICAgIE9yZGVyIGFsbG93LGRlbnkK
KyAgICBEZW55IGZyb20gYWxsCisgICAgU2F0aXNmeSBBbGwKKzwvRmlsZXM+CisKKzxEaXJlY3Rv
cnkgIH4gIi4qXC5cLm5hbWVkZm9yayI+CisgICAgT3JkZXIgYWxsb3csZGVueQorICAgIERlbnkg
ZnJvbSBhbGwKKyAgICBTYXRpc2Z5IEFsbAorPC9EaXJlY3Rvcnk+CisKKyMKKyMgVHlwZXNDb25m
aWcgZGVzY3JpYmVzIHdoZXJlIHRoZSBtaW1lLnR5cGVzIGZpbGUgKG9yIGVxdWl2YWxlbnQpIGlz
CisjIHRvIGJlIGZvdW5kLgorIworVHlwZXNDb25maWcgL2V0Yy9taW1lLnR5cGVzCisKKyMKKyMg
RGVmYXVsdFR5cGUgaXMgdGhlIGRlZmF1bHQgTUlNRSB0eXBlIHRoZSBzZXJ2ZXIgd2lsbCB1c2Ug
Zm9yIGEgZG9jdW1lbnQKKyMgaWYgaXQgY2Fubm90IG90aGVyd2lzZSBkZXRlcm1pbmUgb25lLCBz
dWNoIGFzIGZyb20gZmlsZW5hbWUgZXh0ZW5zaW9ucy4KKyMgSWYgeW91ciBzZXJ2ZXIgY29udGFp
bnMgbW9zdGx5IHRleHQgb3IgSFRNTCBkb2N1bWVudHMsICJ0ZXh0L3BsYWluIiBpcworIyBhIGdv
b2QgdmFsdWUuICBJZiBtb3N0IG9mIHlvdXIgY29udGVudCBpcyBiaW5hcnksIHN1Y2ggYXMgYXBw
bGljYXRpb25zCisjIG9yIGltYWdlcywgeW91IG1heSB3YW50IHRvIHVzZSAiYXBwbGljYXRpb24v
b2N0ZXQtc3RyZWFtIiBpbnN0ZWFkIHRvCisjIGtlZXAgYnJvd3NlcnMgZnJvbSB0cnlpbmcgdG8g
ZGlzcGxheSBiaW5hcnkgZmlsZXMgYXMgdGhvdWdoIHRoZXkgYXJlCisjIHRleHQuCisjCitEZWZh
dWx0VHlwZSB0ZXh0L3BsYWluCisKKyMKKyMgSG9zdG5hbWVMb29rdXBzOiBMb2cgdGhlIG5hbWVz
IG9mIGNsaWVudHMgb3IganVzdCB0aGVpciBJUCBhZGRyZXNzZXMKKyMgZS5nLiwgd3d3LmFwYWNo
ZS5vcmcgKG9uKSBvciAyMDQuNjIuMTI5LjEzMiAob2ZmKS4KKyMgVGhlIGRlZmF1bHQgaXMgb2Zm
IGJlY2F1c2UgaXQnZCBiZSBvdmVyYWxsIGJldHRlciBmb3IgdGhlIG5ldCBpZiBwZW9wbGUKKyMg
aGFkIHRvIGtub3dpbmdseSB0dXJuIHRoaXMgZmVhdHVyZSBvbiwgc2luY2UgZW5hYmxpbmcgaXQg
bWVhbnMgdGhhdAorIyBlYWNoIGNsaWVudCByZXF1ZXN0IHdpbGwgcmVzdWx0IGluIEFUIExFQVNU
IG9uZSBsb29rdXAgcmVxdWVzdCB0byB0aGUKKyMgbmFtZXNlcnZlci4KKyMKK0hvc3RuYW1lTG9v
a3VwcyBPZmYKKworIworIyBFbmFibGVNTUFQOiBDb250cm9sIHdoZXRoZXIgbWVtb3J5LW1hcHBp
bmcgaXMgdXNlZCB0byBkZWxpdmVyCisjIGZpbGVzIChhc3N1bWluZyB0aGF0IHRoZSB1bmRlcmx5
aW5nIE9TIHN1cHBvcnRzIGl0KS4KKyMgVGhlIGRlZmF1bHQgaXMgb247IHR1cm4gdGhpcyBvZmYg
aWYgeW91IHNlcnZlIGZyb20gTkZTLW1vdW50ZWQgCisjIGZpbGVzeXN0ZW1zLiAgT24gc29tZSBz
eXN0ZW1zLCB0dXJuaW5nIGl0IG9mZiAocmVnYXJkbGVzcyBvZgorIyBmaWxlc3lzdGVtKSBjYW4g
aW1wcm92ZSBwZXJmb3JtYW5jZTsgZm9yIGRldGFpbHMsIHBsZWFzZSBzZWUKKyMgaHR0cDovL2h0
dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjIvbW9kL2NvcmUuaHRtbCNlbmFibGVtbWFwCisjCisjRW5h
YmxlTU1BUCBvZmYKKworIworIyBFbmFibGVTZW5kZmlsZTogQ29udHJvbCB3aGV0aGVyIHRoZSBz
ZW5kZmlsZSBrZXJuZWwgc3VwcG9ydCBpcyAKKyMgdXNlZCB0byBkZWxpdmVyIGZpbGVzIChhc3N1
bWluZyB0aGF0IHRoZSBPUyBzdXBwb3J0cyBpdCkuIAorIyBUaGUgZGVmYXVsdCBpcyBvbjsgdHVy
biB0aGlzIG9mZiBpZiB5b3Ugc2VydmUgZnJvbSBORlMtbW91bnRlZCAKKyMgZmlsZXN5c3RlbXMu
ICBQbGVhc2Ugc2VlCisjIGh0dHA6Ly9odHRwZC5hcGFjaGUub3JnL2RvY3MvMi4yL21vZC9jb3Jl
Lmh0bWwjZW5hYmxlc2VuZGZpbGUKKyMKKyNFbmFibGVTZW5kZmlsZSBvZmYKKworIworIyBFcnJv
ckxvZzogVGhlIGxvY2F0aW9uIG9mIHRoZSBlcnJvciBsb2cgZmlsZS4KKyMgSWYgeW91IGRvIG5v
dCBzcGVjaWZ5IGFuIEVycm9yTG9nIGRpcmVjdGl2ZSB3aXRoaW4gYSA8VmlydHVhbEhvc3Q+Cisj
IGNvbnRhaW5lciwgZXJyb3IgbWVzc2FnZXMgcmVsYXRpbmcgdG8gdGhhdCB2aXJ0dWFsIGhvc3Qg
d2lsbCBiZQorIyBsb2dnZWQgaGVyZS4gIElmIHlvdSAqZG8qIGRlZmluZSBhbiBlcnJvciBsb2dm
aWxlIGZvciBhIDxWaXJ0dWFsSG9zdD4KKyMgY29udGFpbmVyLCB0aGF0IGhvc3QncyBlcnJvcnMg
d2lsbCBiZSBsb2dnZWQgdGhlcmUgYW5kIG5vdCBoZXJlLgorIworI0Vycm9yTG9nIC90bXAvV2Vi
S2l0L2Vycm9yX2xvZworCisjCisjIExvZ0xldmVsOiBDb250cm9sIHRoZSBudW1iZXIgb2YgbWVz
c2FnZXMgbG9nZ2VkIHRvIHRoZSBlcnJvcl9sb2cuCisjIFBvc3NpYmxlIHZhbHVlcyBpbmNsdWRl
OiBkZWJ1ZywgaW5mbywgbm90aWNlLCB3YXJuLCBlcnJvciwgY3JpdCwKKyMgYWxlcnQsIGVtZXJn
LgorIworTG9nTGV2ZWwgd2FybgorCisjCisjIFRoZSBmb2xsb3dpbmcgZGlyZWN0aXZlcyBkZWZp
bmUgc29tZSBmb3JtYXQgbmlja25hbWVzIGZvciB1c2Ugd2l0aAorIyBhIEN1c3RvbUxvZyBkaXJl
Y3RpdmUgKHNlZSBiZWxvdykuCisjCitMb2dGb3JtYXQgIiVoICVsICV1ICV0IFwiJXJcIiAlPnMg
JWIgXCIle1JlZmVyZXJ9aVwiIFwiJXtVc2VyLUFnZW50fWlcIiIgY29tYmluZWQKK0xvZ0Zvcm1h
dCAiJWggJWwgJXUgJXQgXCIlclwiICU+cyAlYiIgY29tbW9uCitMb2dGb3JtYXQgIiV7UmVmZXJl
cn1pIC0+ICVVIiByZWZlcmVyCitMb2dGb3JtYXQgIiV7VXNlci1hZ2VudH1pIiBhZ2VudAorCisj
ICJjb21iaW5lZGlvIiBpbmNsdWRlcyBhY3R1YWwgY291bnRzIG9mIGFjdHVhbCBieXRlcyByZWNl
aXZlZCAoJUkpIGFuZCBzZW50ICglTyk7IHRoaXMKKyMgcmVxdWlyZXMgdGhlIG1vZF9sb2dpbyBt
b2R1bGUgdG8gYmUgbG9hZGVkLgorI0xvZ0Zvcm1hdCAiJWggJWwgJXUgJXQgXCIlclwiICU+cyAl
YiBcIiV7UmVmZXJlcn1pXCIgXCIle1VzZXItQWdlbnR9aVwiICVJICVPIiBjb21iaW5lZGlvCisK
KyMKKyMgVGhlIGxvY2F0aW9uIGFuZCBmb3JtYXQgb2YgdGhlIGFjY2VzcyBsb2dmaWxlIChDb21t
b24gTG9nZmlsZSBGb3JtYXQpLgorIyBJZiB5b3UgZG8gbm90IGRlZmluZSBhbnkgYWNjZXNzIGxv
Z2ZpbGVzIHdpdGhpbiBhIDxWaXJ0dWFsSG9zdD4KKyMgY29udGFpbmVyLCB0aGV5IHdpbGwgYmUg
bG9nZ2VkIGhlcmUuICBDb250cmFyaXdpc2UsIGlmIHlvdSAqZG8qCisjIGRlZmluZSBwZXItPFZp
cnR1YWxIb3N0PiBhY2Nlc3MgbG9nZmlsZXMsIHRyYW5zYWN0aW9ucyB3aWxsIGJlCisjIGxvZ2dl
ZCB0aGVyZWluIGFuZCAqbm90KiBpbiB0aGlzIGZpbGUuCisjCisjQ3VzdG9tTG9nIGxvZ3MvYWNj
ZXNzX2xvZyBjb21tb24KKworIworIyBJZiB5b3Ugd291bGQgbGlrZSB0byBoYXZlIHNlcGFyYXRl
IGFnZW50IGFuZCByZWZlcmVyIGxvZ2ZpbGVzLCB1bmNvbW1lbnQKKyMgdGhlIGZvbGxvd2luZyBk
aXJlY3RpdmVzLgorIworI0N1c3RvbUxvZyBsb2dzL3JlZmVyZXJfbG9nIHJlZmVyZXIKKyNDdXN0
b21Mb2cgbG9ncy9hZ2VudF9sb2cgYWdlbnQKKworIworIyBGb3IgYSBzaW5nbGUgbG9nZmlsZSB3
aXRoIGFjY2VzcywgYWdlbnQsIGFuZCByZWZlcmVyIGluZm9ybWF0aW9uCisjIChDb21iaW5lZCBM
b2dmaWxlIEZvcm1hdCksIHVzZSB0aGUgZm9sbG93aW5nIGRpcmVjdGl2ZToKKyMKKyNDdXN0b21M
b2cgbG9ncy9hY2Nlc3NfbG9nIGNvbWJpbmVkCisKKyMKKyMgT3B0aW9uYWxseSBhZGQgYSBsaW5l
IGNvbnRhaW5pbmcgdGhlIHNlcnZlciB2ZXJzaW9uIGFuZCB2aXJ0dWFsIGhvc3QKKyMgbmFtZSB0
byBzZXJ2ZXItZ2VuZXJhdGVkIHBhZ2VzIChpbnRlcm5hbCBlcnJvciBkb2N1bWVudHMsIEZUUCBk
aXJlY3RvcnkKKyMgbGlzdGluZ3MsIG1vZF9zdGF0dXMgYW5kIG1vZF9pbmZvIG91dHB1dCBldGMu
LCBidXQgbm90IENHSSBnZW5lcmF0ZWQKKyMgZG9jdW1lbnRzIG9yIGN1c3RvbSBlcnJvciBkb2N1
bWVudHMpLgorIyBTZXQgdG8gIkVNYWlsIiB0byBhbHNvIGluY2x1ZGUgYSBtYWlsdG86IGxpbmsg
dG8gdGhlIFNlcnZlckFkbWluLgorIyBTZXQgdG8gb25lIG9mOiAgT24gfCBPZmYgfCBFTWFpbAor
IworU2VydmVyU2lnbmF0dXJlIE9uCisKKyMKKyMgQWxpYXNlczogQWRkIGhlcmUgYXMgbWFueSBh
bGlhc2VzIGFzIHlvdSBuZWVkICh3aXRoIG5vIGxpbWl0KS4gVGhlIGZvcm1hdCBpcyAKKyMgQWxp
YXMgZmFrZW5hbWUgcmVhbG5hbWUKKyMKKyMgTm90ZSB0aGF0IGlmIHlvdSBpbmNsdWRlIGEgdHJh
aWxpbmcgLyBvbiBmYWtlbmFtZSB0aGVuIHRoZSBzZXJ2ZXIgd2lsbAorIyByZXF1aXJlIGl0IHRv
IGJlIHByZXNlbnQgaW4gdGhlIFVSTC4gIFNvICIvaWNvbnMiIGlzbid0IGFsaWFzZWQgaW4gdGhp
cworIyBleGFtcGxlLCBvbmx5ICIvaWNvbnMvIi4gIElmIHRoZSBmYWtlbmFtZSBpcyBzbGFzaC10
ZXJtaW5hdGVkLCB0aGVuIHRoZSAKKyMgcmVhbG5hbWUgbXVzdCBhbHNvIGJlIHNsYXNoIHRlcm1p
bmF0ZWQsIGFuZCBpZiB0aGUgZmFrZW5hbWUgb21pdHMgdGhlIAorIyB0cmFpbGluZyBzbGFzaCwg
dGhlIHJlYWxuYW1lIG11c3QgYWxzbyBvbWl0IGl0LgorIworIyBXZSBpbmNsdWRlIHRoZSAvaWNv
bnMvIGFsaWFzIGZvciBGYW5jeUluZGV4ZWQgZGlyZWN0b3J5IGxpc3RpbmdzLiAgSWYgeW91Cisj
IGRvIG5vdCB1c2UgRmFuY3lJbmRleGluZywgeW91IG1heSBjb21tZW50IHRoaXMgb3V0LgorIwor
IworIyBTY3JpcHRBbGlhczogVGhpcyBjb250cm9scyB3aGljaCBkaXJlY3RvcmllcyBjb250YWlu
IHNlcnZlciBzY3JpcHRzLgorIyBTY3JpcHRBbGlhc2VzIGFyZSBlc3NlbnRpYWxseSB0aGUgc2Ft
ZSBhcyBBbGlhc2VzLCBleGNlcHQgdGhhdAorIyBkb2N1bWVudHMgaW4gdGhlIHJlYWxuYW1lIGRp
cmVjdG9yeSBhcmUgdHJlYXRlZCBhcyBhcHBsaWNhdGlvbnMgYW5kCisjIHJ1biBieSB0aGUgc2Vy
dmVyIHdoZW4gcmVxdWVzdGVkIHJhdGhlciB0aGFuIGFzIGRvY3VtZW50cyBzZW50IHRvIHRoZSBj
bGllbnQuCisjIFRoZSBzYW1lIHJ1bGVzIGFib3V0IHRyYWlsaW5nICIvIiBhcHBseSB0byBTY3Jp
cHRBbGlhcyBkaXJlY3RpdmVzIGFzIHRvCisjIEFsaWFzLgorIworCisjCisjIFJlZGlyZWN0IGFs
bG93cyB5b3UgdG8gdGVsbCBjbGllbnRzIGFib3V0IGRvY3VtZW50cyB3aGljaCB1c2VkIHRvIGV4
aXN0IGluCisjIHlvdXIgc2VydmVyJ3MgbmFtZXNwYWNlLCBidXQgZG8gbm90IGFueW1vcmUuIFRo
aXMgYWxsb3dzIHlvdSB0byB0ZWxsIHRoZQorIyBjbGllbnRzIHdoZXJlIHRvIGxvb2sgZm9yIHRo
ZSByZWxvY2F0ZWQgZG9jdW1lbnQuCisjIEV4YW1wbGU6CisjIFJlZGlyZWN0IHBlcm1hbmVudCAv
Zm9vIGh0dHA6Ly93d3cuZXhhbXBsZS5jb20vYmFyCisKKyMKKyMgRGlyZWN0aXZlcyBjb250cm9s
bGluZyB0aGUgZGlzcGxheSBvZiBzZXJ2ZXItZ2VuZXJhdGVkIGRpcmVjdG9yeSBsaXN0aW5ncy4K
KyMKKworIworIyBBZGREZXNjcmlwdGlvbiBhbGxvd3MgeW91IHRvIHBsYWNlIGEgc2hvcnQgZGVz
Y3JpcHRpb24gYWZ0ZXIgYSBmaWxlIGluCisjIHNlcnZlci1nZW5lcmF0ZWQgaW5kZXhlcy4gIFRo
ZXNlIGFyZSBvbmx5IGRpc3BsYXllZCBmb3IgRmFuY3lJbmRleGVkCisjIGRpcmVjdG9yaWVzLgor
IyBGb3JtYXQ6IEFkZERlc2NyaXB0aW9uICJkZXNjcmlwdGlvbiIgZmlsZW5hbWUKKyMKKyNBZGRE
ZXNjcmlwdGlvbiAiR1pJUCBjb21wcmVzc2VkIGRvY3VtZW50IiAuZ3oKKyNBZGREZXNjcmlwdGlv
biAidGFyIGFyY2hpdmUiIC50YXIKKyNBZGREZXNjcmlwdGlvbiAiR1pJUCBjb21wcmVzc2VkIHRh
ciBhcmNoaXZlIiAudGd6CisKKyMKKyMgRGVmYXVsdExhbmd1YWdlIGFuZCBBZGRMYW5ndWFnZSBh
bGxvd3MgeW91IHRvIHNwZWNpZnkgdGhlIGxhbmd1YWdlIG9mIAorIyBhIGRvY3VtZW50LiBZb3Ug
Y2FuIHRoZW4gdXNlIGNvbnRlbnQgbmVnb3RpYXRpb24gdG8gZ2l2ZSBhIGJyb3dzZXIgYSAKKyMg
ZmlsZSBpbiBhIGxhbmd1YWdlIHRoZSB1c2VyIGNhbiB1bmRlcnN0YW5kLgorIworIyBTcGVjaWZ5
IGEgZGVmYXVsdCBsYW5ndWFnZS4gVGhpcyBtZWFucyB0aGF0IGFsbCBkYXRhCisjIGdvaW5nIG91
dCB3aXRob3V0IGEgc3BlY2lmaWMgbGFuZ3VhZ2UgdGFnIChzZWUgYmVsb3cpIHdpbGwgCisjIGJl
IG1hcmtlZCB3aXRoIHRoaXMgb25lLiBZb3UgcHJvYmFibHkgZG8gTk9UIHdhbnQgdG8gc2V0Cisj
IHRoaXMgdW5sZXNzIHlvdSBhcmUgc3VyZSBpdCBpcyBjb3JyZWN0IGZvciBhbGwgY2FzZXMuCisj
CisjICogSXQgaXMgZ2VuZXJhbGx5IGJldHRlciB0byBub3QgbWFyayBhIHBhZ2UgYXMgCisjICog
YmVpbmcgYSBjZXJ0YWluIGxhbmd1YWdlIHRoYW4gbWFya2luZyBpdCB3aXRoIHRoZSB3cm9uZwor
IyAqIGxhbmd1YWdlIQorIworIyBEZWZhdWx0TGFuZ3VhZ2UgbmwKKyMKKyMgTm90ZSAxOiBUaGUg
c3VmZml4IGRvZXMgbm90IGhhdmUgdG8gYmUgdGhlIHNhbWUgYXMgdGhlIGxhbmd1YWdlCisjIGtl
eXdvcmQgLS0tIHRob3NlIHdpdGggZG9jdW1lbnRzIGluIFBvbGlzaCAod2hvc2UgbmV0LXN0YW5k
YXJkCisjIGxhbmd1YWdlIGNvZGUgaXMgcGwpIG1heSB3aXNoIHRvIHVzZSAiQWRkTGFuZ3VhZ2Ug
cGwgLnBvIiB0bworIyBhdm9pZCB0aGUgYW1iaWd1aXR5IHdpdGggdGhlIGNvbW1vbiBzdWZmaXgg
Zm9yIHBlcmwgc2NyaXB0cy4KKyMKKyMgTm90ZSAyOiBUaGUgZXhhbXBsZSBlbnRyaWVzIGJlbG93
IGlsbHVzdHJhdGUgdGhhdCBpbiBzb21lIGNhc2VzIAorIyB0aGUgdHdvIGNoYXJhY3RlciAnTGFu
Z3VhZ2UnIGFiYnJldmlhdGlvbiBpcyBub3QgaWRlbnRpY2FsIHRvIAorIyB0aGUgdHdvIGNoYXJh
Y3RlciAnQ291bnRyeScgY29kZSBmb3IgaXRzIGNvdW50cnksCisjIEUuZy4gJ0Rhbm1hcmsvZGsn
IHZlcnN1cyAnRGFuaXNoL2RhJy4KKyMKKyMgTm90ZSAzOiBJbiB0aGUgY2FzZSBvZiAnbHR6JyB3
ZSB2aW9sYXRlIHRoZSBSRkMgYnkgdXNpbmcgYSB0aHJlZSBjaGFyCisjIHNwZWNpZmllci4gVGhl
cmUgaXMgJ3dvcmsgaW4gcHJvZ3Jlc3MnIHRvIGZpeCB0aGlzIGFuZCBnZXQKKyMgdGhlIHJlZmVy
ZW5jZSBkYXRhIGZvciByZmMxNzY2IGNsZWFuZWQgdXAuCisjCisjIENhdGFsYW4gKGNhKSAtIENy
b2F0aWFuIChocikgLSBDemVjaCAoY3MpIC0gRGFuaXNoIChkYSkgLSBEdXRjaCAobmwpCisjIEVu
Z2xpc2ggKGVuKSAtIEVzcGVyYW50byAoZW8pIC0gRXN0b25pYW4gKGV0KSAtIEZyZW5jaCAoZnIp
IC0gR2VybWFuIChkZSkKKyMgR3JlZWstTW9kZXJuIChlbCkgLSBIZWJyZXcgKGhlKSAtIEl0YWxp
YW4gKGl0KSAtIEphcGFuZXNlIChqYSkKKyMgS29yZWFuIChrbykgLSBMdXhlbWJvdXJnZW9pcyog
KGx0eikgLSBOb3J3ZWdpYW4gTnlub3JzayAobm4pCisjIE5vcndlZ2lhbiAobm8pIC0gUG9saXNo
IChwbCkgLSBQb3J0dWdlc2UgKHB0KQorIyBCcmF6aWxpYW4gUG9ydHVndWVzZSAocHQtQlIpIC0g
UnVzc2lhbiAocnUpIC0gU3dlZGlzaCAoc3YpCisjIFNpbXBsaWZpZWQgQ2hpbmVzZSAoemgtQ04p
IC0gU3BhbmlzaCAoZXMpIC0gVHJhZGl0aW9uYWwgQ2hpbmVzZSAoemgtVFcpCisjCitBZGRMYW5n
dWFnZSBjYSAuY2EKK0FkZExhbmd1YWdlIGNzIC5jeiAuY3MKK0FkZExhbmd1YWdlIGRhIC5kawor
QWRkTGFuZ3VhZ2UgZGUgLmRlCitBZGRMYW5ndWFnZSBlbCAuZWwKK0FkZExhbmd1YWdlIGVuIC5l
bgorQWRkTGFuZ3VhZ2UgZW8gLmVvCitBZGRMYW5ndWFnZSBlcyAuZXMKK0FkZExhbmd1YWdlIGV0
IC5ldAorQWRkTGFuZ3VhZ2UgZnIgLmZyCitBZGRMYW5ndWFnZSBoZSAuaGUKK0FkZExhbmd1YWdl
IGhyIC5ocgorQWRkTGFuZ3VhZ2UgaXQgLml0CitBZGRMYW5ndWFnZSBqYSAuamEKK0FkZExhbmd1
YWdlIGtvIC5rbworQWRkTGFuZ3VhZ2UgbHR6IC5sdHoKK0FkZExhbmd1YWdlIG5sIC5ubAorQWRk
TGFuZ3VhZ2Ugbm4gLm5uCitBZGRMYW5ndWFnZSBubyAubm8KK0FkZExhbmd1YWdlIHBsIC5wbwor
QWRkTGFuZ3VhZ2UgcHQgLnB0CitBZGRMYW5ndWFnZSBwdC1CUiAucHQtYnIKK0FkZExhbmd1YWdl
IHJ1IC5ydQorQWRkTGFuZ3VhZ2Ugc3YgLnN2CitBZGRMYW5ndWFnZSB6aC1DTiAuemgtY24KK0Fk
ZExhbmd1YWdlIHpoLVRXIC56aC10dworQWRkQ2hhcnNldCBCaWc1ICAgICAgICAgLkJpZzUgICAg
LmJpZzUKK0FkZENoYXJzZXQgV0lORE9XUy0xMjUxIC5jcC0xMjUxCitBZGRDaGFyc2V0IENQODY2
ICAgICAgICAuY3A4NjYKK0FkZENoYXJzZXQgSVNPLTg4NTktNSAgIC5pc28tcnUKK0FkZENoYXJz
ZXQgS09JOC1SICAgICAgIC5rb2k4LXIKK0FkZENoYXJzZXQgVUNTLTIgICAgICAgIC51Y3MyCitB
ZGRDaGFyc2V0IFVDUy00ICAgICAgICAudWNzNAorQWRkQ2hhcnNldCBVVEYtOCAgICAgICAgLnV0
ZjgKKworIworIyBMYW5ndWFnZVByaW9yaXR5IGFsbG93cyB5b3UgdG8gZ2l2ZSBwcmVjZWRlbmNl
IHRvIHNvbWUgbGFuZ3VhZ2VzCisjIGluIGNhc2Ugb2YgYSB0aWUgZHVyaW5nIGNvbnRlbnQgbmVn
b3RpYXRpb24uCisjCisjIEp1c3QgbGlzdCB0aGUgbGFuZ3VhZ2VzIGluIGRlY3JlYXNpbmcgb3Jk
ZXIgb2YgcHJlZmVyZW5jZS4gV2UgaGF2ZQorIyBtb3JlIG9yIGxlc3MgYWxwaGFiZXRpemVkIHRo
ZW0gaGVyZS4gWW91IHByb2JhYmx5IHdhbnQgdG8gY2hhbmdlIHRoaXMuCisjCis8SWZNb2R1bGUg
bW9kX25lZ290aWF0aW9uLmM+CisgICAgTGFuZ3VhZ2VQcmlvcml0eSBlbiBjYSBjcyBkYSBkZSBl
bCBlbyBlcyBldCBmciBoZSBociBpdCBqYSBrbyBsdHogbmwgbm4gbm8gcGwgcHQgcHQtQlIgcnUg
c3YgemgtQ04gemgtVFcKKzwvSWZNb2R1bGU+CisKKyMKKyMgRm9yY2VMYW5ndWFnZVByaW9yaXR5
IGFsbG93cyB5b3UgdG8gc2VydmUgYSByZXN1bHQgcGFnZSByYXRoZXIgdGhhbgorIyBNVUxUSVBM
RSBDSE9JQ0VTIChQcmVmZXIpIFtpbiBjYXNlIG9mIGEgdGllXSBvciBOT1QgQUNDRVBUQUJMRSAo
RmFsbGJhY2spCisjIFtpbiBjYXNlIG5vIGFjY2VwdGVkIGxhbmd1YWdlcyBtYXRjaGVkIHRoZSBh
dmFpbGFibGUgdmFyaWFudHNdCisjCisjRm9yY2VMYW5ndWFnZVByaW9yaXR5IFByZWZlciBGYWxs
YmFjaworCisjCisjIFNwZWNpZnkgYSBkZWZhdWx0IGNoYXJzZXQgZm9yIGFsbCBjb250ZW50IHNl
cnZlZDsgdGhpcyBlbmFibGVzCisjIGludGVycHJldGF0aW9uIG9mIGFsbCBjb250ZW50IGFzIFVU
Ri04IGJ5IGRlZmF1bHQuICBUbyB1c2UgdGhlIAorIyBkZWZhdWx0IGJyb3dzZXIgY2hvaWNlIChJ
U08tODg1OS0xKSwgb3IgdG8gYWxsb3cgdGhlIE1FVEEgdGFncworIyBpbiBIVE1MIGNvbnRlbnQg
dG8gb3ZlcnJpZGUgdGhpcyBjaG9pY2UsIGNvbW1lbnQgb3V0IHRoaXMKKyMgZGlyZWN0aXZlOgor
IworI0FkZERlZmF1bHRDaGFyc2V0IFVURi04CisKKyMKKyMgQWRkVHlwZSBhbGxvd3MgeW91IHRv
IGFkZCB0byBvciBvdmVycmlkZSB0aGUgTUlNRSBjb25maWd1cmF0aW9uCisjIGZpbGUgbWltZS50
eXBlcyBmb3Igc3BlY2lmaWMgZmlsZSB0eXBlcy4KKyMKKyNBZGRUeXBlIGFwcGxpY2F0aW9uL3gt
dGFyIC50Z3oKKworIworIyBBZGRFbmNvZGluZyBhbGxvd3MgeW91IHRvIGhhdmUgY2VydGFpbiBi
cm93c2VycyB1bmNvbXByZXNzCisjIGluZm9ybWF0aW9uIG9uIHRoZSBmbHkuIE5vdGU6IE5vdCBh
bGwgYnJvd3NlcnMgc3VwcG9ydCB0aGlzLgorIyBEZXNwaXRlIHRoZSBuYW1lIHNpbWlsYXJpdHks
IHRoZSBmb2xsb3dpbmcgQWRkKiBkaXJlY3RpdmVzIGhhdmUgbm90aGluZworIyB0byBkbyB3aXRo
IHRoZSBGYW5jeUluZGV4aW5nIGN1c3RvbWl6YXRpb24gZGlyZWN0aXZlcyBhYm92ZS4KKyMKK0Fk
ZEVuY29kaW5nIHgtY29tcHJlc3MgLloKK0FkZEVuY29kaW5nIHgtZ3ppcCAuZ3ogLnRnegorCisj
IElmIHRoZSBBZGRFbmNvZGluZyBkaXJlY3RpdmVzIGFib3ZlIGFyZSBjb21tZW50ZWQtb3V0LCB0
aGVuIHlvdQorIyBwcm9iYWJseSBzaG91bGQgZGVmaW5lIHRob3NlIGV4dGVuc2lvbnMgdG8gaW5k
aWNhdGUgbWVkaWEgdHlwZXM6CisjCisjQWRkVHlwZSBhcHBsaWNhdGlvbi94LWNvbXByZXNzIC5a
CisjQWRkVHlwZSBhcHBsaWNhdGlvbi94LWd6aXAgLmd6IC50Z3oKKworIworIyAgIE1JTUUtdHlw
ZXMgZm9yIGRvd25sb2FkaW5nIENlcnRpZmljYXRlcyBhbmQgQ1JMcworIworQWRkVHlwZSBhcHBs
aWNhdGlvbi94LXg1MDktY2EtY2VydCAuY3J0CitBZGRUeXBlIGFwcGxpY2F0aW9uL3gtcGtjczct
Y3JsICAgIC5jcmwKKworIworIyBBZGRIYW5kbGVyIGFsbG93cyB5b3UgdG8gbWFwIGNlcnRhaW4g
ZmlsZSBleHRlbnNpb25zIHRvICJoYW5kbGVycyI6CisjIGFjdGlvbnMgdW5yZWxhdGVkIHRvIGZp
bGV0eXBlLiBUaGVzZSBjYW4gYmUgZWl0aGVyIGJ1aWx0IGludG8gdGhlIHNlcnZlcgorIyBvciBh
ZGRlZCB3aXRoIHRoZSBBY3Rpb24gZGlyZWN0aXZlIChzZWUgYmVsb3cpCisjCisjIFRvIHVzZSBD
R0kgc2NyaXB0cyBvdXRzaWRlIG9mIFNjcmlwdEFsaWFzZWQgZGlyZWN0b3JpZXM6CisjIChZb3Ug
d2lsbCBhbHNvIG5lZWQgdG8gYWRkICJFeGVjQ0dJIiB0byB0aGUgIk9wdGlvbnMiIGRpcmVjdGl2
ZS4pCisjCitBZGRIYW5kbGVyIGNnaS1zY3JpcHQgLmNnaSAucGwKKworIworIyBGaWx0ZXJzIGFs
bG93IHlvdSB0byBwcm9jZXNzIGNvbnRlbnQgYmVmb3JlIGl0IGlzIHNlbnQgdG8gdGhlIGNsaWVu
dC4KKyMKKyMgVG8gcGFyc2UgLnNodG1sIGZpbGVzIGZvciBzZXJ2ZXItc2lkZSBpbmNsdWRlcyAo
U1NJKToKKyMgKFlvdSB3aWxsIGFsc28gbmVlZCB0byBhZGQgIkluY2x1ZGVzIiB0byB0aGUgIk9w
dGlvbnMiIGRpcmVjdGl2ZS4pCisjCitBZGRUeXBlIHRleHQvaHRtbCAuc2h0bWwKK0FkZE91dHB1
dEZpbHRlciBJTkNMVURFUyAuc2h0bWwKKworIworIyBGb3IgZmlsZXMgdGhhdCBpbmNsdWRlIHRo
ZWlyIG93biBIVFRQIGhlYWRlcnM6CisjCitBZGRIYW5kbGVyIHNlbmQtYXMtaXMgYXNpcworCisj
CisjIEZvciB0eXBlIG1hcHMgKG5lZ290aWF0ZWQgcmVzb3VyY2VzKToKKyMgKFRoaXMgaXMgZW5h
YmxlZCBieSBkZWZhdWx0IHRvIGFsbG93IHRoZSBBcGFjaGUgIkl0IFdvcmtlZCIgcGFnZQorIyAg
dG8gYmUgZGlzdHJpYnV0ZWQgaW4gbXVsdGlwbGUgbGFuZ3VhZ2VzLikKKyMKKyNBZGRIYW5kbGVy
IHR5cGUtbWFwIHZhcgorCisjCisjIEFjdGlvbiBsZXRzIHlvdSBkZWZpbmUgbWVkaWEgdHlwZXMg
dGhhdCB3aWxsIGV4ZWN1dGUgYSBzY3JpcHQgd2hlbmV2ZXIKKyMgYSBtYXRjaGluZyBmaWxlIGlz
IGNhbGxlZC4gVGhpcyBlbGltaW5hdGVzIHRoZSBuZWVkIGZvciByZXBlYXRlZCBVUkwKKyMgcGF0
aG5hbWVzIGZvciBvZnQtdXNlZCBDR0kgZmlsZSBwcm9jZXNzb3JzLgorIyBGb3JtYXQ6IEFjdGlv
biBtZWRpYS90eXBlIC9jZ2ktc2NyaXB0L2xvY2F0aW9uCisjIEZvcm1hdDogQWN0aW9uIGhhbmRs
ZXItbmFtZSAvY2dpLXNjcmlwdC9sb2NhdGlvbgorIworCisjCisjIEN1c3RvbWl6YWJsZSBlcnJv
ciByZXNwb25zZXMgY29tZSBpbiB0aHJlZSBmbGF2b3JzOgorIyAxKSBwbGFpbiB0ZXh0IDIpIGxv
Y2FsIHJlZGlyZWN0cyAzKSBleHRlcm5hbCByZWRpcmVjdHMKKyMKKyMgU29tZSBleGFtcGxlczoK
KyNFcnJvckRvY3VtZW50IDUwMCAiVGhlIHNlcnZlciBtYWRlIGEgYm9vIGJvby4iCisjRXJyb3JE
b2N1bWVudCA0MDQgL21pc3NpbmcuaHRtbAorI0Vycm9yRG9jdW1lbnQgNDA0ICIvY2dpLWJpbi9t
aXNzaW5nX2hhbmRsZXIucGwiCisjRXJyb3JEb2N1bWVudCA0MDIgaHR0cDovL3d3dy5leGFtcGxl
LmNvbS9zdWJzY3JpcHRpb25faW5mby5odG1sCisjCisKKyMKKyMgUHV0dGluZyB0aGlzIGFsbCB0
b2dldGhlciwgd2UgY2FuIGludGVybmF0aW9uYWxpemUgZXJyb3IgcmVzcG9uc2VzLgorIworIyBX
ZSB1c2UgQWxpYXMgdG8gcmVkaXJlY3QgYW55IC9lcnJvci9IVFRQXzxlcnJvcj4uaHRtbC52YXIg
cmVzcG9uc2UgdG8KKyMgb3VyIGNvbGxlY3Rpb24gb2YgYnktZXJyb3IgbWVzc2FnZSBtdWx0aS1s
YW5ndWFnZSBjb2xsZWN0aW9ucy4gIFdlIHVzZSAKKyMgaW5jbHVkZXMgdG8gc3Vic3RpdHV0ZSB0
aGUgYXBwcm9wcmlhdGUgdGV4dC4KKyMKKyMgWW91IGNhbiBtb2RpZnkgdGhlIG1lc3NhZ2VzJyBh
cHBlYXJhbmNlIHdpdGhvdXQgY2hhbmdpbmcgYW55IG9mIHRoZQorIyBkZWZhdWx0IEhUVFBfPGVy
cm9yPi5odG1sLnZhciBmaWxlcyBieSBhZGRpbmcgdGhlIGxpbmU6CisjCisjICAgQWxpYXMgL2Vy
cm9yL2luY2x1ZGUvICIveW91ci9pbmNsdWRlL3BhdGgvIgorIworIyB3aGljaCBhbGxvd3MgeW91
IHRvIGNyZWF0ZSB5b3VyIG93biBzZXQgb2YgZmlsZXMgYnkgc3RhcnRpbmcgd2l0aCB0aGUKKyMg
L3Zhci93d3cvZXJyb3IvaW5jbHVkZS8gZmlsZXMgYW5kCisjIGNvcHlpbmcgdGhlbSB0byAveW91
ci9pbmNsdWRlL3BhdGgvLCBldmVuIG9uIGEgcGVyLVZpcnR1YWxIb3N0IGJhc2lzLgorIworCisj
CisjIFRoZSBmb2xsb3dpbmcgZGlyZWN0aXZlcyBtb2RpZnkgbm9ybWFsIEhUVFAgcmVzcG9uc2Ug
YmVoYXZpb3IgdG8KKyMgaGFuZGxlIGtub3duIHByb2JsZW1zIHdpdGggYnJvd3NlciBpbXBsZW1l
bnRhdGlvbnMuCisjCitCcm93c2VyTWF0Y2ggIk1vemlsbGEvMiIgbm9rZWVwYWxpdmUKK0Jyb3dz
ZXJNYXRjaCAiTVNJRSA0XC4wYjI7IiBub2tlZXBhbGl2ZSBkb3duZ3JhZGUtMS4wIGZvcmNlLXJl
c3BvbnNlLTEuMAorQnJvd3Nlck1hdGNoICJSZWFsUGxheWVyIDRcLjAiIGZvcmNlLXJlc3BvbnNl
LTEuMAorQnJvd3Nlck1hdGNoICJKYXZhLzFcLjAiIGZvcmNlLXJlc3BvbnNlLTEuMAorQnJvd3Nl
ck1hdGNoICJKREsvMVwuMCIgZm9yY2UtcmVzcG9uc2UtMS4wCisKKyMKKyMgVGhlIGZvbGxvd2lu
ZyBkaXJlY3RpdmUgZGlzYWJsZXMgcmVkaXJlY3RzIG9uIG5vbi1HRVQgcmVxdWVzdHMgZm9yCisj
IGEgZGlyZWN0b3J5IHRoYXQgZG9lcyBub3QgaW5jbHVkZSB0aGUgdHJhaWxpbmcgc2xhc2guICBU
aGlzIGZpeGVzIGEgCisjIHByb2JsZW0gd2l0aCBNaWNyb3NvZnQgV2ViRm9sZGVycyB3aGljaCBk
b2VzIG5vdCBhcHByb3ByaWF0ZWx5IGhhbmRsZSAKKyMgcmVkaXJlY3RzIGZvciBmb2xkZXJzIHdp
dGggREFWIG1ldGhvZHMuCisjIFNhbWUgZGVhbCB3aXRoIEFwcGxlJ3MgREFWIGZpbGVzeXN0ZW0g
YW5kIEdub21lIFZGUyBzdXBwb3J0IGZvciBEQVYuCisjCitCcm93c2VyTWF0Y2ggIk1pY3Jvc29m
dCBEYXRhIEFjY2VzcyBJbnRlcm5ldCBQdWJsaXNoaW5nIFByb3ZpZGVyIiByZWRpcmVjdC1jYXJl
ZnVsbHkKK0Jyb3dzZXJNYXRjaCAiTVMgRnJvbnRQYWdlIiByZWRpcmVjdC1jYXJlZnVsbHkKK0Jy
b3dzZXJNYXRjaCAiXldlYkRyaXZlIiByZWRpcmVjdC1jYXJlZnVsbHkKK0Jyb3dzZXJNYXRjaCAi
XldlYkRBVkZTLzEuWzAxMjNdIiByZWRpcmVjdC1jYXJlZnVsbHkKK0Jyb3dzZXJNYXRjaCAiXmdu
b21lLXZmcy8xLjAiIHJlZGlyZWN0LWNhcmVmdWxseQorQnJvd3Nlck1hdGNoICJeWE1MIFNweSIg
cmVkaXJlY3QtY2FyZWZ1bGx5CitCcm93c2VyTWF0Y2ggIl5EcmVhbXdlYXZlci1XZWJEQVYtU0NN
MSIgcmVkaXJlY3QtY2FyZWZ1bGx5CisKKyMKKyMgQWxsb3cgc2VydmVyIHN0YXR1cyByZXBvcnRz
IGdlbmVyYXRlZCBieSBtb2Rfc3RhdHVzLAorIyB3aXRoIHRoZSBVUkwgb2YgaHR0cDovL3NlcnZl
cm5hbWUvc2VydmVyLXN0YXR1cworIyBDaGFuZ2UgdGhlICIuZXhhbXBsZS5jb20iIHRvIG1hdGNo
IHlvdXIgZG9tYWluIHRvIGVuYWJsZS4KKyMKKyM8TG9jYXRpb24gL3NlcnZlci1zdGF0dXM+Cisj
ICAgIFNldEhhbmRsZXIgc2VydmVyLXN0YXR1cworIyAgICBPcmRlciBkZW55LGFsbG93CisjICAg
IERlbnkgZnJvbSBhbGwKKyMgICAgQWxsb3cgZnJvbSAuZXhhbXBsZS5jb20KKyM8L0xvY2F0aW9u
PgorCisjCisjIEFsbG93IHJlbW90ZSBzZXJ2ZXIgY29uZmlndXJhdGlvbiByZXBvcnRzLCB3aXRo
IHRoZSBVUkwgb2YKKyMgIGh0dHA6Ly9zZXJ2ZXJuYW1lL3NlcnZlci1pbmZvIChyZXF1aXJlcyB0
aGF0IG1vZF9pbmZvLmMgYmUgbG9hZGVkKS4KKyMgQ2hhbmdlIHRoZSAiLmV4YW1wbGUuY29tIiB0
byBtYXRjaCB5b3VyIGRvbWFpbiB0byBlbmFibGUuCisjCisjPExvY2F0aW9uIC9zZXJ2ZXItaW5m
bz4KKyMgICAgU2V0SGFuZGxlciBzZXJ2ZXItaW5mbworIyAgICBPcmRlciBkZW55LGFsbG93Cisj
ICAgIERlbnkgZnJvbSBhbGwKKyMgICAgQWxsb3cgZnJvbSAuZXhhbXBsZS5jb20KKyM8L0xvY2F0
aW9uPgorCisjCisjIFByb3h5IFNlcnZlciBkaXJlY3RpdmVzLiBVbmNvbW1lbnQgdGhlIGZvbGxv
d2luZyBsaW5lcyB0bworIyBlbmFibGUgdGhlIHByb3h5IHNlcnZlcjoKKyMKKyM8SWZNb2R1bGUg
bW9kX3Byb3h5LmM+CisjUHJveHlSZXF1ZXN0cyBPbgorIworIzxQcm94eSAqPgorIyAgICBPcmRl
ciBkZW55LGFsbG93CisjICAgIERlbnkgZnJvbSBhbGwKKyMgICAgQWxsb3cgZnJvbSAuZXhhbXBs
ZS5jb20KKyM8L1Byb3h5PgorCisjCisjIEVuYWJsZS9kaXNhYmxlIHRoZSBoYW5kbGluZyBvZiBI
VFRQLzEuMSAiVmlhOiIgaGVhZGVycy4KKyMgKCJGdWxsIiBhZGRzIHRoZSBzZXJ2ZXIgdmVyc2lv
bjsgIkJsb2NrIiByZW1vdmVzIGFsbCBvdXRnb2luZyBWaWE6IGhlYWRlcnMpCisjIFNldCB0byBv
bmUgb2Y6IE9mZiB8IE9uIHwgRnVsbCB8IEJsb2NrCisjCisjUHJveHlWaWEgT24KKworIworIyBU
byBlbmFibGUgYSBjYWNoZSBvZiBwcm94aWVkIGNvbnRlbnQsIHVuY29tbWVudCB0aGUgZm9sbG93
aW5nIGxpbmVzLgorIyBTZWUgaHR0cDovL2h0dHBkLmFwYWNoZS5vcmcvZG9jcy8yLjIvbW9kL21v
ZF9jYWNoZS5odG1sIGZvciBtb3JlIGRldGFpbHMuCisjCisjPElmTW9kdWxlIG1vZF9kaXNrX2Nh
Y2hlLmM+CisjICAgQ2FjaGVFbmFibGUgZGlzayAvCisjICAgQ2FjaGVSb290ICIvdmFyL2NhY2hl
L21vZF9wcm94eSIKKyM8L0lmTW9kdWxlPgorIworCisjPC9JZk1vZHVsZT4KKyMgRW5kIG9mIHBy
b3h5IGRpcmVjdGl2ZXMuCisKKyMjIyBTZWN0aW9uIDM6IFZpcnR1YWwgSG9zdHMKKyMKKyMgVmly
dHVhbEhvc3Q6IElmIHlvdSB3YW50IHRvIG1haW50YWluIG11bHRpcGxlIGRvbWFpbnMvaG9zdG5h
bWVzIG9uIHlvdXIKKyMgbWFjaGluZSB5b3UgY2FuIHNldHVwIFZpcnR1YWxIb3N0IGNvbnRhaW5l
cnMgZm9yIHRoZW0uIE1vc3QgY29uZmlndXJhdGlvbnMKKyMgdXNlIG9ubHkgbmFtZS1iYXNlZCB2
aXJ0dWFsIGhvc3RzIHNvIHRoZSBzZXJ2ZXIgZG9lc24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0Cisj
IElQIGFkZHJlc3Nlcy4gVGhpcyBpcyBpbmRpY2F0ZWQgYnkgdGhlIGFzdGVyaXNrcyBpbiB0aGUg
ZGlyZWN0aXZlcyBiZWxvdy4KKyMKKyMgUGxlYXNlIHNlZSB0aGUgZG9jdW1lbnRhdGlvbiBhdCAK
KyMgPFVSTDpodHRwOi8vaHR0cGQuYXBhY2hlLm9yZy9kb2NzLzIuMi92aG9zdHMvPgorIyBmb3Ig
ZnVydGhlciBkZXRhaWxzIGJlZm9yZSB5b3UgdHJ5IHRvIHNldHVwIHZpcnR1YWwgaG9zdHMuCisj
CisjIFlvdSBtYXkgdXNlIHRoZSBjb21tYW5kIGxpbmUgb3B0aW9uICctUycgdG8gdmVyaWZ5IHlv
dXIgdmlydHVhbCBob3N0CisjIGNvbmZpZ3VyYXRpb24uCisKKyMKKyMgVXNlIG5hbWUtYmFzZWQg
dmlydHVhbCBob3N0aW5nLgorIworI05hbWVWaXJ0dWFsSG9zdCAqOjgwCisjCisjIE5PVEU6IE5h
bWVWaXJ0dWFsSG9zdCBjYW5ub3QgYmUgdXNlZCB3aXRob3V0IGEgcG9ydCBzcGVjaWZpZXIgCisj
IChlLmcuIDo4MCkgaWYgbW9kX3NzbCBpcyBiZWluZyB1c2VkLCBkdWUgdG8gdGhlIG5hdHVyZSBv
ZiB0aGUKKyMgU1NMIHByb3RvY29sLgorIworCisjCisjIFZpcnR1YWxIb3N0IGV4YW1wbGU6Cisj
IEFsbW9zdCBhbnkgQXBhY2hlIGRpcmVjdGl2ZSBtYXkgZ28gaW50byBhIFZpcnR1YWxIb3N0IGNv
bnRhaW5lci4KKyMgVGhlIGZpcnN0IFZpcnR1YWxIb3N0IHNlY3Rpb24gaXMgdXNlZCBmb3IgcmVx
dWVzdHMgd2l0aG91dCBhIGtub3duCisjIHNlcnZlciBuYW1lLgorIworIzxWaXJ0dWFsSG9zdCAq
OjgwPgorIyAgICBTZXJ2ZXJBZG1pbiB3ZWJtYXN0ZXJAZHVtbXktaG9zdC5leGFtcGxlLmNvbQor
IyAgICBEb2N1bWVudFJvb3QgL3d3dy9kb2NzL2R1bW15LWhvc3QuZXhhbXBsZS5jb20KKyMgICAg
U2VydmVyTmFtZSBkdW1teS1ob3N0LmV4YW1wbGUuY29tCisjICAgIEVycm9yTG9nIGxvZ3MvZHVt
bXktaG9zdC5leGFtcGxlLmNvbS1lcnJvcl9sb2cKKyMgICAgQ3VzdG9tTG9nIGxvZ3MvZHVtbXkt
aG9zdC5leGFtcGxlLmNvbS1hY2Nlc3NfbG9nIGNvbW1vbgorIzwvVmlydHVhbEhvc3Q+CisKKzxJ
Zk1vZHVsZSBtb2RfcGhwNS5jPgorICAgICMgSWYgcGhwIGlzIHR1cm5lZCBvbiwgd2UgcmVwc2Vj
dCAucGhwIGFuZCAucGhwcyBmaWxlcy4KKyAgICBBZGRUeXBlIGFwcGxpY2F0aW9uL3gtaHR0cGQt
cGhwIC5waHAKKyAgICBBZGRUeXBlIGFwcGxpY2F0aW9uL3gtaHR0cGQtcGhwIC5iYXQKKyAgICBB
ZGRUeXBlIGFwcGxpY2F0aW9uL3gtaHR0cGQtcGhwLXNvdXJjZSAucGhwcworCisgICAgIyBTaW5j
ZSBtb3N0IHVzZXJzIHdpbGwgd2FudCBpbmRleC5waHAgdG8gd29yayB3ZQorICAgICMgYWxzbyBh
dXRvbWF0aWNhbGx5IGVuYWJsZSBpbmRleC5waHAKKyAgICA8SWZNb2R1bGUgbW9kX2Rpci5jPgor
ICAgICAgICBEaXJlY3RvcnlJbmRleCBpbmRleC5odG1sIGluZGV4LnBocAorICAgIDwvSWZNb2R1
bGU+Cis8L0lmTW9kdWxlPgorCis8SWZNb2R1bGUgbW9kX3Jld3JpdGUuYz4KKyAgICBSZXdyaXRl
RW5naW5lIE9uCisgICAgUmV3cml0ZUNvbmQgJXtSRVFVRVNUX01FVEhPRH0gXlRSQUNFCisgICAg
UmV3cml0ZVJ1bGUgLiogLSBbRl0KKzwvSWZNb2R1bGU+CisKKzxWaXJ0dWFsSG9zdCAxMjcuMC4w
LjE6ODQ0Mz4KKyAgICBTZXJ2ZXJOYW1lIDEyNy4wLjAuMQorICAgIFNTTEVuZ2luZSBPbgorPC9W
aXJ0dWFsSG9zdD4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRv
b2xzL0NoYW5nZUxvZwppbmRleCBjNDVmM2ViLi40ODdkNDNkIDEwMDY0NAotLS0gYS9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMDktMDgtMjYgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBG
ZWRvcmEgZGlzdHJvcyBpbiB0aGUgaHR0cCB0ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgyNjMKKworICAgICAgICBBZGQgZGV0ZWN0aW9uIGNv
ZGUgZm9yIEZlZG9yYSBkaXN0cmlidXRpb24sIGFuZCB1c2UgdGhlIHByb3BlcgorICAgICAgICBo
dHRwZCBjb25mIGZpbGUgd2hlbiBuZWVkZWQuCisKKyAgICAgICAgKiBTY3JpcHRzL3J1bi13ZWJr
aXQtaHR0cGQ6CisgICAgICAgICogU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzOgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0ZGlycy5wbToKKwogMjAwOS0wOC0yNSAgQ2FtZXJvbiBNY0Nvcm1hY2sg
IDxjYW1AbWNjLmlkLmF1PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LWh0dHBkIGIvV2ViS2l0VG9v
bHMvU2NyaXB0cy9ydW4td2Via2l0LWh0dHBkCmluZGV4IDYyZWFlMTQuLjlhOTcxOTAgMTAwNzU1
Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC1odHRwZAorKysgYi9XZWJLaXRU
b29scy9TY3JpcHRzL3J1bi13ZWJraXQtaHR0cGQKQEAgLTkwLDYgKzkwLDcgQEAgbXkgJGh0dHBk
Q29uZmlnID0gIiR0ZXN0RGlyZWN0b3J5L2h0dHAvY29uZi9odHRwZC5jb25mIjsKICRodHRwZENv
bmZpZyA9ICIkdGVzdERpcmVjdG9yeS9odHRwL2NvbmYvY3lnd2luLWh0dHBkLmNvbmYiIGlmIGlz
Q3lnd2luKCk7CiAkaHR0cGRDb25maWcgPSAiJHRlc3REaXJlY3RvcnkvaHR0cC9jb25mL2FwYWNo
ZTItaHR0cGQuY29uZiIgaWYgYCRodHRwZFBhdGggLXZgID1+IG18QXBhY2hlLzJ8OwogJGh0dHBk
Q29uZmlnID0gIiR0ZXN0RGlyZWN0b3J5L2h0dHAvY29uZi9hcGFjaGUyLWRlYmlhbi1odHRwZC5j
b25mIiBpZiBpc0RlYmlhbkJhc2VkKCk7CiskaHR0cGRDb25maWcgPSAiJHRlc3REaXJlY3Rvcnkv
aHR0cC9jb25mL2ZlZG9yYS1odHRwZC5jb25mIiBpZiBpc0ZlZG9yYUJhc2VkKCk7CiBteSAkZG9j
dW1lbnRSb290ID0gIiR0ZXN0RGlyZWN0b3J5L2h0dHAvdGVzdHMiOwogbXkgJHR5cGVzQ29uZmln
ID0gIiR0ZXN0RGlyZWN0b3J5L2h0dHAvY29uZi9taW1lLnR5cGVzIjsKIG15ICRzc2xDZXJ0aWZp
Y2F0ZSA9ICIkdGVzdERpcmVjdG9yeS9odHRwL2NvbmYvd2Via2l0LWh0dHBkLnBlbSI7CmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMgYi9XZWJLaXRUb29s
cy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMKaW5kZXggMGExNjk0NC4uNDg2YTJhNCAxMDA3NTUK
LS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzCisrKyBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cwpAQCAtMTQ1Miw2ICsxNDUyLDkgQEAgc3ViIG9w
ZW5IVFRQRElmTmVlZGVkKCkKICAgICB9IGVsc2lmIChpc0RlYmlhbkJhc2VkKCkpIHsKICAgICAg
ICAgJGh0dHBkUGF0aCA9ICIvdXNyL3NiaW4vYXBhY2hlMiI7CiAgICAgICAgICRodHRwZENvbmZp
ZyA9ICIkdGVzdERpcmVjdG9yeS9odHRwL2NvbmYvYXBhY2hlMi1kZWJpYW4taHR0cGQuY29uZiI7
CisgICAgfSBlbHNpZiAoaXNGZWRvcmFCYXNlZCgpKSB7CisgICAgICAgICRodHRwZFBhdGggPSAi
L3Vzci9zYmluL2h0dHBkIjsKKyAgICAgICAgJGh0dHBkQ29uZmlnID0gIiR0ZXN0RGlyZWN0b3J5
L2h0dHAvY29uZi9mZWRvcmEtaHR0cGQuY29uZiI7CiAgICAgfSBlbHNlIHsKICAgICAgICAgJGh0
dHBkQ29uZmlnID0gIiR0ZXN0RGlyZWN0b3J5L2h0dHAvY29uZi9odHRwZC5jb25mIjsKICAgICAg
ICAgJGh0dHBkQ29uZmlnID0gIiR0ZXN0RGlyZWN0b3J5L2h0dHAvY29uZi9hcGFjaGUyLWh0dHBk
LmNvbmYiIGlmIGAkaHR0cGRQYXRoIC12YCA9fiBtfEFwYWNoZS8yfDsKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0ZGlycy5wbQppbmRleCA1MjZkYWU1Li5lMWZmY2EzIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRk
aXJzLnBtCkBAIC03ODgsNiArNzg4LDExIEBAIHN1YiBpc0RlYmlhbkJhc2VkKCkKICAgICByZXR1
cm4gLWUgIi9ldGMvZGViaWFuX3ZlcnNpb24iOwogfQogCitzdWIgaXNGZWRvcmFCYXNlZCgpCit7
CisgICAgcmV0dXJuIC1lICIvZXRjL2ZlZG9yYS1yZWxlYXNlIjsKK30KKwogc3ViIGlzQ2hyb21p
dW0oKQogewogICAgIGRldGVybWluZUlzQ2hyb21pdW0oKTsKLS0gCjEuNi40LjEKCg==
</data>
<flag name="review"
          id="19610"
          type_id="1"
          status="+"
          setter="gustavo"
    />
    <flag name="commit-queue"
          id="19849"
          type_id="3"
          status="-"
          setter="gustavo"
    />
          </attachment>
      

    </bug>

</bugzilla>