<?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>85760</bug_id>
          
          <creation_ts>2012-05-06 19:08:15 -0700</creation_ts>
          <short_desc>[Chromium] Move fileSystem to Platform.h</short_desc>
          <delta_ts>2012-05-07 12:11:14 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          <blocked>82948</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Mark Pilgrim (Google)">pilgrim</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>haraken</cc>
    
    <cc>jamesr</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>617279</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-06 19:08:15 -0700</bug_when>
    <thetext>[Chromium] Move fileSystem to Platform.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617281</commentid>
    <comment_count>1</comment_count>
      <attachid>140451</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-06 19:09:02 -0700</bug_when>
    <thetext>Created attachment 140451
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617285</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-06 19:11:44 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617328</commentid>
    <comment_count>3</comment_count>
      <attachid>140451</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-06 20:20:59 -0700</bug_when>
    <thetext>Comment on attachment 140451
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=140451&amp;action=review

&gt; Source/Platform/chromium/public/Platform.h:43
&gt; +class WebFileSystem;

We should move WebFileSystem and its dependencies into Source/Platform/chromium/public as well.  I&apos;ve already moved a bunch of them into Source/WebKit/chromium/public/platform, which is something of a staging area.  I think it would be ok to just move the WebFileSystem dependencies that are already in Source/WebKit/chromium/public/platform</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617595</commentid>
    <comment_count>4</comment_count>
      <attachid>140528</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-07 07:49:20 -0700</bug_when>
    <thetext>Created attachment 140528
WIP patch (compile fails in WebFrame.h)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617596</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-07 07:50:49 -0700</bug_when>
    <thetext>Work in progress, fails in WebFrame.h (can not find file WebFileSystem.h). Help?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617597</commentid>
    <comment_count>6</comment_count>
      <attachid>140528</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-07 07:56:47 -0700</bug_when>
    <thetext>Comment on attachment 140528
WIP patch (compile fails in WebFrame.h)

Attachment 140528 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/12655003</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617686</commentid>
    <comment_count>7</comment_count>
      <attachid>140528</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-07 10:26:44 -0700</bug_when>
    <thetext>Comment on attachment 140528
WIP patch (compile fails in WebFrame.h)

View in context: https://bugs.webkit.org/attachment.cgi?id=140528&amp;action=review

&gt; Source/WebKit/chromium/public/WebFrame.h:40
&gt;  #include &quot;platform/WebCanvas.h&quot;
&gt; -#include &quot;platform/WebFileSystem.h&quot;
&gt;  #include &quot;platform/WebReferrerPolicy.h&quot;
&gt;  #include &quot;platform/WebURL.h&quot;
&gt; +#include &lt;public/WebFileSystem.h&gt;

The trick is to leave these includes the way they are and to add a &quot;forwarding&quot; header like &lt;http://trac.webkit.org/browser/trunk/Source/WebKit/chromium/public/platform/WebURL.h&gt;.  Once we&apos;ve got everything in the right place, we&apos;ll remove the forwarding headers, but for now they help prevent these sorts of compile failures.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617741</commentid>
    <comment_count>8</comment_count>
      <attachid>140558</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-07 11:14:13 -0700</bug_when>
    <thetext>Created attachment 140558
Patch with forwarding header</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617751</commentid>
    <comment_count>9</comment_count>
      <attachid>140558</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-05-07 11:21:50 -0700</bug_when>
    <thetext>Comment on attachment 140558
Patch with forwarding header

View in context: https://bugs.webkit.org/attachment.cgi?id=140558&amp;action=review

&gt; Source/WebKit/chromium/public/WebCommonWorkerClient.h:35
&gt; -#include &quot;platform/WebFileSystem.h&quot;
&gt; +#include &lt;public/WebFileSystem.h&gt;

I&apos;d leave the includes in the API using the forwarding header in case not all consumers of the API have their include paths set up to use the &lt;public/...&gt; version.

&gt; Source/WebKit/chromium/src/AssertMatchingEnums.cpp:107
&gt; +#include &lt;public/WebFileSystem.h&gt;

Changing the includes in the cpp files (and the non-public h files) is good though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617775</commentid>
    <comment_count>10</comment_count>
      <attachid>140563</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2012-05-07 11:36:26 -0700</bug_when>
    <thetext>Created attachment 140563
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617810</commentid>
    <comment_count>11</comment_count>
      <attachid>140563</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-07 12:11:09 -0700</bug_when>
    <thetext>Comment on attachment 140563
Patch

Clearing flags on attachment: 140563

Committed r116336: &lt;http://trac.webkit.org/changeset/116336&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617811</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-07 12:11:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140451</attachid>
            <date>2012-05-06 19:09:02 -0700</date>
            <delta_ts>2012-05-07 07:49:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85760-20120506220818.patch</filename>
            <type>text/plain</type>
            <size>5824</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1Bs
YXRmb3JtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE2MjU4KQorKysgU291cmNlL1BsYXRmb3JtL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEyLTA1LTA2ICBNYXJr
IFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIE1v
dmUgZmlsZVN5c3RlbSB0byBQbGF0Zm9ybS5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04NTc2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFBhcnQgb2YgYSByZWZhY3RvcmluZyBzZXJpZXMuIFNlZSB0cmFj
a2luZyBidWcgODI5NDguCisKKyAgICAgICAgKiBjaHJvbWl1bS9wdWJsaWMvUGxhdGZvcm0uaDoK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChQbGF0Zm9ybSk6CisgICAgICAgIChXZWJLaXQ6
OlBsYXRmb3JtOjpmaWxlU3lzdGVtKToKKwogMjAxMi0wNS0wNCAgVG9tbXkgV2lkZW5mbHljaHQg
IDx0b21teXdAZ29vZ2xlLmNvbT4KIAogICAgICAgICBNZWRpYVN0cmVhbSBBUEk6IE1ha2UgUGVl
ckNvbm5lY3Rpb24wMCdzIEFQSSBmdWxseSBjb21wbGlhbnQgd2l0aCB0aGUgZHJhZnQKSW5kZXg6
IFNvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvUGxhdGZvcm0uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1BsYXRmb3JtLmgJKHJldmlzaW9uIDEx
NjI1NSkKKysrIFNvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvUGxhdGZvcm0uaAkod29y
a2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQAogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNz
IFdlYkF1ZGlvQnVzOworY2xhc3MgV2ViRmlsZVN5c3RlbTsKIGNsYXNzIFdlYk1lZGlhU3RyZWFt
Q2VudGVyOwogY2xhc3MgV2ViTWVkaWFTdHJlYW1DZW50ZXJDbGllbnQ7CiBjbGFzcyBXZWJNaW1l
UmVnaXN0cnk7CkBAIC02OSw2ICs3MCwxMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBXZWJBdWRp
b0RldmljZSogY3JlYXRlQXVkaW9EZXZpY2Uoc2l6ZV90IGJ1ZmZlclNpemUsIHVuc2lnbmVkIG51
bWJlck9mQ2hhbm5lbHMsIGRvdWJsZSBzYW1wbGVSYXRlLCBXZWJBdWRpb0RldmljZTo6UmVuZGVy
Q2FsbGJhY2sqKSB7IHJldHVybiAwOyB9CiAKIAorICAgIC8vIEZpbGVTeXN0ZW0gLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgICAg
Ly8gTXVzdCByZXR1cm4gbm9uLW51bGwuCisgICAgdmlydHVhbCBXZWJGaWxlU3lzdGVtKiBmaWxl
U3lzdGVtKCkgeyByZXR1cm4gMDsgfQorCiAgICAgLy8gR2FtZXBhZCAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKICAgICB2aXJ0
dWFsIHZvaWQgc2FtcGxlR2FtZXBhZHMoV2ViR2FtZXBhZHMmIGludG8pIHsgaW50by5sZW5ndGgg
PSAwOyB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE2MjU4KQor
KysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwyMCBAQAorMjAxMi0wNS0wNiAgTWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgW0Nocm9taXVtXSBNb3ZlIGZpbGVTeXN0ZW0gdG8gUGxhdGZvcm0uaAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU3NjAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0IG9mIGEg
cmVmYWN0b3Jpbmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcgYnVnIDgyOTQ4LgorCisgICAgICAgICog
cHVibGljL3BsYXRmb3JtL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oOgorICAgICAgICAoV2ViS2l0
KToKKyAgICAgICAgKFdlYktpdFBsYXRmb3JtU3VwcG9ydCk6CisgICAgICAgICogc3JjL0FzeW5j
RmlsZVN5c3RlbUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jRmlsZVN5c3Rl
bUNocm9taXVtOjpBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bSk6CisgICAgICAgICogc3JjL1dvcmtl
ckZpbGVXcml0ZXJDYWxsYmFja3NCcmlkZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXb3JrZXJG
aWxlV3JpdGVyQ2FsbGJhY2tzQnJpZGdlOjppbml0T25NYWluVGhyZWFkKToKKwogMjAxMi0wNS0w
NiAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIENTUCBzaG91bGQg
bGV0IHNpdGVzIGJvdGggZW5mb3JjZSBvbmUgcG9saWN5IGFuZCBtb25pdG9yIGFub3RoZXIKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYktpdFBsYXRmb3Jt
U3VwcG9ydC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3Bs
YXRmb3JtL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oCShyZXZpc2lvbiAxMTYyNTUpCisrKyBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQu
aAkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNiBAQCBjbGFzcyBXZWJBcHBsaWNhdGlvbkNh
Y2hlSG9zdENsaWVudDsgLy8KIGNsYXNzIFdlYkJsb2JSZWdpc3RyeTsKIGNsYXNzIFdlYkNsaXBi
b2FyZDsKIGNsYXNzIFdlYkNvb2tpZUphcjsKLWNsYXNzIFdlYkZpbGVTeXN0ZW07CiBjbGFzcyBX
ZWJGaWxlVXRpbGl0aWVzOwogY2xhc3MgV2ViSURCRmFjdG9yeTsgLy8gRklYTUU6IERvZXMgdGhp
cyBiZWxvbmcgaW4gcGxhdGZvcm0/CiBjbGFzcyBXZWJJREJLZXk7IC8vIEZJWE1FOiBEb2VzIHRo
aXMgYmVsb25nIGluIHBsYXRmb3JtPwpAQCAtMTc3LDExICsxNzYsNiBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBib29sIGNhbkFjY2VsZXJhdGUyZENhbnZhcygpIHsgcmV0dXJuIGZhbHNlOyB9CiAK
IAotICAgIC8vIEZpbGVTeXN0ZW0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gICAgLy8gTXVzdCByZXR1cm4gbm9uLW51bGwuCi0g
ICAgdmlydHVhbCBXZWJGaWxlU3lzdGVtKiBmaWxlU3lzdGVtKCkgeyByZXR1cm4gMDsgfQotCiAg
ICAgLy8gV2ViV29ya2VyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIHZpcnR1YWwgdm9pZCBkaWRTdGFydFdvcmtlclJ1bkxv
b3AoY29uc3QgV2ViV29ya2VyUnVuTG9vcCYpIHsgfQpJbmRleDogU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5jRmlsZVN5c3RlbUNocm9taXVtLmNwcAkocmV2aXNp
b24gMTE2MjU1KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXN5bmNGaWxlU3lzdGVt
Q2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Myw3ICs0Myw3IEBACiAjaW5jbHVkZSAi
V2ViRmlsZVdyaXRlci5oIgogI2luY2x1ZGUgIldlYktpdC5oIgogI2luY2x1ZGUgInBsYXRmb3Jt
L1dlYkZpbGVTeXN0ZW0uaCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBv
cnQuaCIKKyNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCkBAIC0xNTks
NyArMTU5LDcgQEAgYm9vbCBBc3luY0ZpbGVTeXN0ZW06OmlzVmFsaWRUeXBlKFR5cGUgdAogCiBB
c3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6QXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0oQXN5bmNGaWxl
U3lzdGVtOjpUeXBlIHR5cGUsIGNvbnN0IEtVUkwmIHJvb3RVUkwpCiAgICAgOiBBc3luY0ZpbGVT
eXN0ZW0odHlwZSkKLSAgICAsIG1fd2ViRmlsZVN5c3RlbShXZWJLaXQ6OndlYktpdFBsYXRmb3Jt
U3VwcG9ydCgpLT5maWxlU3lzdGVtKCkpCisgICAgLCBtX3dlYkZpbGVTeXN0ZW0oV2ViS2l0OjpQ
bGF0Zm9ybTo6Y3VycmVudCgpLT5maWxlU3lzdGVtKCkpCiAgICAgLCBtX2ZpbGVzeXN0ZW1Sb290
VVJMKHJvb3RVUkwpCiB7CiAgICAgQVNTRVJUKG1fd2ViRmlsZVN5c3RlbSk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJGaWxlV3JpdGVyQ2FsbGJhY2tzQnJpZGdlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJGaWxlV3Jp
dGVyQ2FsbGJhY2tzQnJpZGdlLmNwcAkocmV2aXNpb24gMTE2MjU1KQorKysgU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVdyaXRlckNhbGxiYWNrc0JyaWRnZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTM5LDExICszOSwxMSBAQAogI2luY2x1ZGUgInBsYXRmb3JtL1dlYkZpbGVT
eXN0ZW0uaCIKICNpbmNsdWRlICJXZWJGaWxlV3JpdGVyLmgiCiAjaW5jbHVkZSAiV2ViS2l0Lmgi
Ci0jaW5jbHVkZSAicGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgiCiAjaW5jbHVkZSAi
V2ViV29ya2VyQmFzZS5oIgogI2luY2x1ZGUgIldvcmtlckNvbnRleHQuaCIKICNpbmNsdWRlICJX
b3JrZXJMb2FkZXJQcm94eS5oIgogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgorI2luY2x1ZGUg
PHB1YmxpYy9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW5jbHVk
ZSA8d3RmL1RocmVhZGluZy5oPgogCkBAIC0xMDQsNyArMTA0LDcgQEAgdm9pZCBXb3JrZXJGaWxl
V3JpdGVyQ2FsbGJhY2tzQnJpZGdlOjphYgogdm9pZCBXb3JrZXJGaWxlV3JpdGVyQ2FsbGJhY2tz
QnJpZGdlOjppbml0T25NYWluVGhyZWFkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVm
UHRyPFdvcmtlckZpbGVXcml0ZXJDYWxsYmFja3NCcmlkZ2U+IGJyaWRnZSwgY29uc3QgS1VSTCYg
cGF0aCkKIHsKICAgICBBU1NFUlQoIWJyaWRnZS0+bV93cml0ZXIpOwotICAgIGJyaWRnZS0+bV93
cml0ZXIgPSBhZG9wdFB0cih3ZWJLaXRQbGF0Zm9ybVN1cHBvcnQoKS0+ZmlsZVN5c3RlbSgpLT5j
cmVhdGVGaWxlV3JpdGVyKHBhdGgsIGJyaWRnZS5nZXQoKSkpOworICAgIGJyaWRnZS0+bV93cml0
ZXIgPSBhZG9wdFB0cihXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmZpbGVTeXN0ZW0oKS0+
Y3JlYXRlRmlsZVdyaXRlcihwYXRoLCBicmlkZ2UuZ2V0KCkpKTsKIH0KIAogdm9pZCBXb3JrZXJG
aWxlV3JpdGVyQ2FsbGJhY2tzQnJpZGdlOjpzaHV0ZG93bk9uTWFpblRocmVhZChTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXb3JrZXJGaWxlV3JpdGVyQ2FsbGJhY2tzQnJpZGdl
PiBicmlkZ2UpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140528</attachid>
            <date>2012-05-07 07:49:20 -0700</date>
            <delta_ts>2012-05-07 11:14:09 -0700</delta_ts>
            <desc>WIP patch (compile fails in WebFrame.h)</desc>
            <filename>bug-85760-20120507104835.patch</filename>
            <type>text/plain</type>
            <size>31587</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1Bs
YXRmb3JtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE2MzA4KQorKysgU291cmNlL1BsYXRmb3JtL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA1LTA3ICBNYXJr
IFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIE1v
dmUgZmlsZVN5c3RlbSB0byBQbGF0Zm9ybS5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04NTc2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFBhcnQgb2YgYSByZWZhY3RvcmluZyBzZXJpZXMuIFNlZSB0cmFj
a2luZyBidWcgODI5NDguCisKKyAgICAgICAgKiBQbGF0Zm9ybS5neXBpOgorICAgICAgICAqIGNo
cm9taXVtL3B1YmxpYy9QbGF0Zm9ybS5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFBs
YXRmb3JtKToKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm06OmZpbGVTeXN0ZW0pOgorICAgICAg
ICAqIGNocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmg6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYkZpbGVTeXN0ZW0uaC4KKwogMjAxMi0w
NS0wNCAgVG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KIAogICAgICAgICBN
ZWRpYVN0cmVhbSBBUEk6IE1ha2UgUGVlckNvbm5lY3Rpb24wMCdzIEFQSSBmdWxseSBjb21wbGlh
bnQgd2l0aCB0aGUgZHJhZnQKSW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCShyZXZpc2lvbiAxMTYz
MDgpCisrKyBTb3VyY2UvUGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQkod29ya2luZyBjb3B5KQpAQCAt
NDIsNiArNDIsNyBAQAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJDb250ZW50TGF5
ZXJDbGllbnQuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYkRhdGEuaCcsCiAg
ICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYkV4dGVybmFsVGV4dHVyZUxheWVyLmgnLAor
ICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgnLAogICAgICAgICAg
ICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJGaWx0ZXJPcGVyYXRpb24uaCcsCiAgICAgICAgICAgICAn
Y2hyb21pdW0vcHVibGljL1dlYkZpbHRlck9wZXJhdGlvbnMuaCcsCiAgICAgICAgICAgICAnY2hy
b21pdW0vcHVibGljL1dlYkZsb2F0UG9pbnQuaCcsCkluZGV4OiBTb3VyY2UvUGxhdGZvcm0vY2hy
b21pdW0vcHVibGljL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1BsYXRmb3JtL2No
cm9taXVtL3B1YmxpYy9QbGF0Zm9ybS5oCShyZXZpc2lvbiAxMTYzMDgpCisrKyBTb3VyY2UvUGxh
dGZvcm0vY2hyb21pdW0vcHVibGljL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYg
KzQwLDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJBdWRpb0J1czsKK2NsYXNz
IFdlYkZpbGVTeXN0ZW07CiBjbGFzcyBXZWJNZWRpYVN0cmVhbUNlbnRlcjsKIGNsYXNzIFdlYk1l
ZGlhU3RyZWFtQ2VudGVyQ2xpZW50OwogY2xhc3MgV2ViTWltZVJlZ2lzdHJ5OwpAQCAtNjksNiAr
NzAsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgV2ViQXVkaW9EZXZpY2UqIGNyZWF0ZUF1ZGlv
RGV2aWNlKHNpemVfdCBidWZmZXJTaXplLCB1bnNpZ25lZCBudW1iZXJPZkNoYW5uZWxzLCBkb3Vi
bGUgc2FtcGxlUmF0ZSwgV2ViQXVkaW9EZXZpY2U6OlJlbmRlckNhbGxiYWNrKikgeyByZXR1cm4g
MDsgfQogCiAKKyAgICAvLyBGaWxlU3lzdGVtIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworICAgIC8vIE11c3QgcmV0dXJuIG5vbi1u
dWxsLgorICAgIHZpcnR1YWwgV2ViRmlsZVN5c3RlbSogZmlsZVN5c3RlbSgpIHsgcmV0dXJuIDA7
IH0KKwogICAgIC8vIEdhbWVwYWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAgICAgdmlydHVhbCB2b2lkIHNhbXBsZUdhbWVw
YWRzKFdlYkdhbWVwYWRzJiBpbnRvKSB7IGludG8ubGVuZ3RoID0gMDsgfQpJbmRleDogU291cmNl
L1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgJKHJldmlzaW9u
IDExNjMwNykJKGZyb20gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2Vi
RmlsZVN5c3RlbS5oOjExNjMwNykKKysrIFNvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMv
V2ViRmlsZVN5c3RlbS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTM4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3Ry
aWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBX
ZWJGaWxlU3lzdGVtX2gKKyNkZWZpbmUgV2ViRmlsZVN5c3RlbV9oCisKKyNpbmNsdWRlICJXZWJD
b21tb24uaCIKKyNpbmNsdWRlICJXZWJVUkwuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKKy8v
IEZJWE1FOiBNb3ZlIHRoZXNlIGNsYXNzZXMgaW50byBwbGF0Zm9ybS4KK2NsYXNzIFdlYkZpbGVT
eXN0ZW1DYWxsYmFja3M7CitjbGFzcyBXZWJGaWxlV3JpdGVyOworY2xhc3MgV2ViRmlsZVdyaXRl
ckNsaWVudDsKKworY2xhc3MgV2ViRmlsZVN5c3RlbSB7CitwdWJsaWM6CisgICAgZW51bSBUeXBl
IHsKKyAgICAgICAgVHlwZVRlbXBvcmFyeSwKKyAgICAgICAgVHlwZVBlcnNpc3RlbnQsCisKKyAg
ICAgICAgLy8gSW5kaWNhdGVzIGFuIGlzb2xhdGVkIGZpbGVzeXN0ZW0gd2hpY2ggb25seSBleHBv
c2VzIGEgc2V0IG9mIGZpbGVzLgorICAgICAgICBUeXBlSXNvbGF0ZWQsCisKKyAgICAgICAgLy8g
SW5kaWNhdGVzIGEgbm9uLXNhbmRib3hlZCBmaWxlc3lzdGVtLgorICAgICAgICBUeXBlRXh0ZXJu
YWwsCisgICAgfTsKKworICAgIC8vIE1vdmVzIGEgZmlsZSBvciBkaXJlY3RvcnkgYXQgfHNyY1Bh
dGh8IHRvIHxkZXN0UGF0aHwuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3Vj
Y2VlZCgpIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3Vj
Y2Vzc2Z1bGx5LgorICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0
IGJlIGNhbGxlZCBvdGhlcndpc2UuCisgICAgdmlydHVhbCB2b2lkIG1vdmUoY29uc3QgV2ViVVJM
JiBzcmNQYXRoLCBjb25zdCBXZWJVUkwmIGRlc3RQYXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tz
KikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKworICAgIC8vIENvcGllcyBhIGZp
bGUgb3IgZGlyZWN0b3J5IGF0IHxzcmNQYXRofCB0byB8ZGVzdFBhdGh8LgorICAgIC8vIFdlYkZp
bGVTeXN0ZW1DYWxsYmFja3M6OmRpZFN1Y2NlZWQoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBv
cGVyYXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KKyAgICAvLyBXZWJGaWxlU3lzdGVt
Q2FsbGJhY2tzOjpkaWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgorICAgIHZpcnR1
YWwgdm9pZCBjb3B5KGNvbnN0IFdlYlVSTCYgc3JjUGF0aCwgY29uc3QgV2ViVVJMJiBkZXN0UGF0
aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgp
OyB9CisKKyAgICAvLyBEZWxldGVzIGEgZmlsZSBvciBkaXJlY3RvcnkgYXQgYSBnaXZlbiB8cGF0
aHwuCisgICAgLy8gSXQgaXMgYW4gZXJyb3IgdG8gdHJ5IHRvIHJlbW92ZSBhIGRpcmVjdG9yeSB0
aGF0IGlzIG5vdCBlbXB0eS4KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRTdWNj
ZWVkKCkgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNj
ZXNzZnVsbHkuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11c3Qg
YmUgY2FsbGVkIG90aGVyd2lzZS4KKyAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlKGNvbnN0IFdlYlVS
TCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOyB9CisKKyAgICAvLyBEZWxldGVzIGEgZmlsZSBvciBkaXJlY3RvcnkgcmVjdXJzaXZl
bHkgYXQgYSBnaXZlbiB8cGF0aHwuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlk
U3VjY2VlZCgpIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQg
c3VjY2Vzc2Z1bGx5LgorICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBt
dXN0IGJlIGNhbGxlZCBvdGhlcndpc2UuCisgICAgdmlydHVhbCB2b2lkIHJlbW92ZVJlY3Vyc2l2
ZWx5KGNvbnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lU
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CisKKyAgICAvLyBSZXRyaWV2ZXMgdGhlIG1ldGFkYXRh
IGluZm9ybWF0aW9uIG9mIHRoZSBmaWxlIG9yIGRpcmVjdG9yeSBhdCB0aGUgZ2l2ZW4gfHBhdGh8
LgorICAgIC8vIFRoaXMgbWF5IG5vdCBhbHdheXMgcmV0dXJuIHRoZSBsb2NhbCBwbGF0Zm9ybSBw
YXRoIGluIHJlbW90ZSBmaWxlc3lzdGVtIGNhc2VzLgorICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxs
YmFja3M6OmRpZFJlYWRNZXRhZGF0YSgpIG11c3QgYmUgY2FsbGVkIHdpdGggYSB2YWxpZCBtZXRh
ZGF0YSB3aGVuIHRoZSByZXRyaWV2YWwgaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KKyAgICAv
LyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3
aXNlLgorICAgIHZpcnR1YWwgdm9pZCByZWFkTWV0YWRhdGEoY29uc3QgV2ViVVJMJiBwYXRoLCBX
ZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0K
KworICAgIC8vIENyZWF0ZXMgYSBmaWxlIGF0IGdpdmVuIHxwYXRofC4KKyAgICAvLyBJZiB0aGUg
fHBhdGh8IGRvZXNuJ3QgZXhpc3QsIGl0IGNyZWF0ZXMgYSBuZXcgZmlsZSBhdCB8cGF0aHwuCisg
ICAgLy8gSWYgfGV4Y2x1c2l2ZXwgaXMgdHJ1ZSwgaXQgZmFpbHMgaWYgdGhlIHxwYXRofCBhbHJl
YWR5IGV4aXN0cy4KKyAgICAvLyBJZiB8ZXhjbHVzaXZlfCBpcyBmYWxzZSwgaXQgc3VjY2VlZHMg
aWYgdGhlIHxwYXRofCBhbHJlYWR5IGV4aXN0cyBvcgorICAgIC8vIGl0IGhhcyBzdWNjZXNzZnVs
bHkgY3JlYXRlZCBhIG5ldyBmaWxlIGF0IHxwYXRofC4KKyAgICAvLworICAgIC8vIFdlYkZpbGVT
eXN0ZW1DYWxsYmFja3M6OmRpZFN1Y2NlZWQoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVy
YXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2Fs
bGJhY2tzOjpkaWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgorICAgIHZpcnR1YWwg
dm9pZCBjcmVhdGVGaWxlKGNvbnN0IFdlYlVSTCYgcGF0aCwgYm9vbCBleGNsdXNpdmUsIFdlYkZp
bGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQorCisg
ICAgLy8gQ3JlYXRlcyBhIGRpcmVjdG9yeSBhdCBhIGdpdmVuIHxwYXRofC4KKyAgICAvLyBJZiB0
aGUgfHBhdGh8IGRvZXNuJ3QgZXhpc3QsIGl0IGNyZWF0ZXMgYSBuZXcgZGlyZWN0b3J5IGF0IHxw
YXRofC4KKyAgICAvLyBJZiB8ZXhjbHVzaXZlfCBpcyB0cnVlLCBpdCBmYWlscyBpZiB0aGUgfHBh
dGh8IGFscmVhZHkgZXhpc3RzLgorICAgIC8vIElmIHxleGNsdXNpdmV8IGlzIGZhbHNlLCBpdCBz
dWNjZWVkcyBpZiB0aGUgfHBhdGh8IGFscmVhZHkgZXhpc3RzIG9yIGl0IGhhcyBzdWNjZXNzZnVs
bHkgY3JlYXRlZCBhIG5ldyBkaXJlY3RvcnkgYXQgfHBhdGh8LgorICAgIC8vCisgICAgLy8gV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIG11c3QgYmUgY2FsbGVkIHdoZW4KKyAg
ICAvLyB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCisgICAgLy8gV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11c3QgYmUgY2FsbGVkIG90aGVyd2lzZS4K
KyAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlRGlyZWN0b3J5KGNvbnN0IFdlYlVSTCYgcGF0aCwgYm9v
bCBleGNsdXNpdmUsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsgfQorCisgICAgLy8gQ2hlY2tzIGlmIGEgZmlsZSBleGlzdHMgYXQgYSBnaXZl
biB8cGF0aHwuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIG11
c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5
LgorICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxl
ZCBvdGhlcndpc2UuCisgICAgdmlydHVhbCB2b2lkIGZpbGVFeGlzdHMoY29uc3QgV2ViVVJMJiBw
YXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVE
KCk7IH0KKworICAgIC8vIENoZWNrcyBpZiBhIGRpcmVjdG9yeSBleGlzdHMgYXQgYSBnaXZlbiB8
cGF0aHwuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIG11c3Qg
YmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Lgor
ICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBv
dGhlcndpc2UuCisgICAgdmlydHVhbCB2b2lkIGRpcmVjdG9yeUV4aXN0cyhjb25zdCBXZWJVUkwm
IHBhdGgsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsgfQorCisgICAgLy8gUmVhZHMgZGlyZWN0b3J5IGVudHJpZXMgb2YgYSBnaXZlbiBkaXJl
Y3RvcnkgYXQgfHBhdGh8LgorICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZFJlYWRE
aXJlY3RvcnkoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVk
IHN1Y2Nlc3NmdWxseS4KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRGYWlsKCkg
bXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgorICAgIHZpcnR1YWwgdm9pZCByZWFkRGlyZWN0b3J5
KGNvbnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOyB9CisKKyAgICAvLyBDcmVhdGVzIGEgV2ViRmlsZVdyaXRlciB0
aGF0IGNhbiBiZSB1c2VkIHRvIHdyaXRlIHRvIHRoZSBnaXZlbiBmaWxlLgorICAgIC8vIFRoaXMg
aXMgYSBmYXN0LCBzeW5jaHJvbm91cyBjYWxsLCBhbmQgc2hvdWxkIG5vdCBzdGF0IHRoZSBmaWxl
c3lzdGVtLgorICAgIHZpcnR1YWwgV2ViRmlsZVdyaXRlciogY3JlYXRlRmlsZVdyaXRlcihjb25z
dCBXZWJVUkwmIHBhdGgsIFdlYkZpbGVXcml0ZXJDbGllbnQqKSB7IFdFQktJVF9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsgcmV0dXJuIDA7IH0KKworICAgIC8vIENyZWF0ZXMgYSBzbmFwc2hvdCBmaWxl
IGZvciBhIGdpdmVuIGZpbGUgc3BlY2lmaWVkIGJ5IHxwYXRofCBhbmQgcmVnaXN0ZXJzIHRoZSBm
aWxlIHdpdGggdGhlIHxibG9iVVJMfC4gSXQgcmV0dXJucyB0aGUgbWV0YWRhdGEgb2YgdGhlIGNy
ZWF0ZWQgc25hcHNob3QgZmlsZS4KKyAgICAvLyBUaGUgcmV0dXJuZWQgbWV0YWRhdGEgc2hvdWxk
IGluY2x1ZGUgYSBsb2NhbCBwbGF0Zm9ybSBwYXRoIHRvIHRoZSBzbmFwc2hvdCBpbWFnZS4KKyAg
ICAvLyBJbiBsb2NhbCBmaWxlc3lzdGVtIGNhc2VzIHRoZSBiYWNrZW5kIG1heSBzaW1wbHkgcmV0
dXJuIHRoZSBtZXRhZGF0YSBvZiB0aGUgZmlsZSBpdHNlbGYgKGFzIHdlbGwgYXMgcmVhZE1ldGFk
YXRhIGRvZXMpLCB3aGlsZSBpbiByZW1vdGUgZmlsZXN5c3RlbSBjYXNlIHRoZSBiYWNrZW5kIG1h
eSBkb3dubG9hZCB0aGUgZmlsZSBpbnRvIGEgdGVtcG9yYXJ5IHNuYXBzaG90IGZpbGUgYW5kIHJl
dHVybiB0aGUgbWV0YWRhdGEgb2YgdGhlIHRlbXBvcmFyeSBmaWxlLgorICAgIC8vIFRoZSByZXR1
cm5lZCBtZXRhZGF0YSBpcyB1c2VkIHRvIGNyZWF0ZSBhIEZpbGUgb2JqZWN0IGZvciB0aGUgfHBh
dGh8LgorICAgIC8vIFRoZSBzbmFwc2hvdCBmaWxlIGlzIHN1cHBvc2VkIHRvIGJlIGRlbGV0ZWQg
d2hlbiB0aGUgbGFzdCByZWZlcmVuY2UgdG8gdGhlIHxibG9iVVJMfCBpcyBkcm9wcGVkLgorICAg
IC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZFJlYWRNZXRhZGF0YSgpIHdpdGggdGhlIG1l
dGFkYXRhIG9mIHRoZSBzbmFwc2hvdCBmaWxlIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJh
dGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LgorICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxs
YmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBvdGhlcndpc2UuCisgICAgdmlydHVhbCB2
b2lkIGNyZWF0ZVNuYXBzaG90RmlsZUFuZFJlYWRNZXRhZGF0YShjb25zdCBXZWJVUkwmIGJsb2JV
UkwsIGNvbnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lU
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CisKK3Byb3RlY3RlZDoKKyAgICB2aXJ0dWFsIH5XZWJG
aWxlU3lzdGVtKCkgeyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE2MzA4KQorKysgU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwzNCBA
QAorMjAxMi0wNS0wNyAgTWFyayBQaWxncmltICA8cGlsZ3JpbUBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgW0Nocm9taXVtXSBNb3ZlIGZpbGVTeXN0ZW0gdG8gUGxhdGZvcm0uaAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODU3NjAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXJ0IG9mIGEgcmVmYWN0b3Jp
bmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcgYnVnIDgyOTQ4LgorCisgICAgICAgICogV2ViS2l0Lmd5
cDoKKyAgICAgICAgKiBwdWJsaWMvV2ViQ29tbW9uV29ya2VyQ2xpZW50Lmg6CisgICAgICAgICog
cHVibGljL1dlYkZyYW1lLmg6CisgICAgICAgICogcHVibGljL1dlYkZyYW1lQ2xpZW50Lmg6Cisg
ICAgICAgICogcHVibGljL3BsYXRmb3JtL1dlYkZpbGVTeXN0ZW0uaDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBwdWJsaWMvcGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0Lmg6CisgICAgICAgIChX
ZWJLaXQpOgorICAgICAgICAoV2ViS2l0UGxhdGZvcm1TdXBwb3J0KToKKyAgICAgICAgKiBzcmMv
QXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisgICAgICAgICogc3JjL0FzeW5jRmlsZVN5c3RlbUNo
cm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFzeW5jRmlsZVN5c3RlbUNocm9taXVtOjpB
c3luY0ZpbGVTeXN0ZW1DaHJvbWl1bSk6CisgICAgICAgICogc3JjL0xvY2FsRmlsZVN5c3RlbUNo
cm9taXVtLmNwcDoKKyAgICAgICAgKiBzcmMvV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwuY3Bw
OgorICAgICAgICAqIHNyYy9XZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbC5oOgorICAgICAgICAq
IHNyYy9XZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAqIHNyYy9XZWJXb3JrZXJDbGllbnRJbXBs
Lmg6CisgICAgICAgICogc3JjL1dvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVtLmNwcDoKKyAg
ICAgICAgKiBzcmMvV29ya2VyQXN5bmNGaWxlV3JpdGVyQ2hyb21pdW0uY3BwOgorICAgICAgICAq
IHNyYy9Xb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmg6CisgICAgICAgICogc3JjL1dv
cmtlckZpbGVXcml0ZXJDYWxsYmFja3NCcmlkZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXb3Jr
ZXJGaWxlV3JpdGVyQ2FsbGJhY2tzQnJpZGdlOjppbml0T25NYWluVGhyZWFkKToKKwogMjAxMi0w
NS0wNyAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5y
ZXZpZXdlZDogdGhlIHNhbWUgZml4IGluIGFub3RoZXIgZmlsZSBmb3IgY2hyb21pdW0gd2luIGJ1
aWxkLiAgQWRkaW5nIFdlYkNvcmUgbmFtZXNwYWNlIHRvIEZpbGVTeXN0ZW1UeXBlcy4KSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9uIDExNjMwOCkKKysrIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAkod29ya2luZyBjb3B5KQpAQCAtMzA5LDcgKzMwOSw2
IEBACiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9wbGF0Zm9ybS9XZWJEYXRhLmgnLAogICAgICAg
ICAgICAgICAgICdwdWJsaWMvcGxhdGZvcm0vV2ViRHJhZ0RhdGEuaCcsCiAgICAgICAgICAgICAg
ICAgJ3B1YmxpYy9wbGF0Zm9ybS9XZWJFeHRlcm5hbFRleHR1cmVMYXllci5oJywKLSAgICAgICAg
ICAgICAgICAncHVibGljL3BsYXRmb3JtL1dlYkZpbGVTeXN0ZW0uaCcsCiAgICAgICAgICAgICAg
ICAgJ3B1YmxpYy9wbGF0Zm9ybS9XZWJGbG9hdFBvaW50LmgnLAogICAgICAgICAgICAgICAgICdw
dWJsaWMvcGxhdGZvcm0vV2ViRmxvYXRRdWFkLmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMv
cGxhdGZvcm0vV2ViRmxvYXRSZWN0LmgnLApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViQ29tbW9uV29ya2VyQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViQ29tbW9uV29ya2VyQ2xpZW50LmgJKHJldmlzaW9uIDExNjMw
OCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkNvbW1vbldvcmtlckNsaWVu
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3IEBACiAjZGVmaW5lIFdlYkNvbW1vbldv
cmtlckNsaWVudF9oCiAKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJDb21tb24uaCIKLSNpbmNsdWRl
ICJwbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYkZpbGVTeXN0
ZW0uaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkZyYW1lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViRnJhbWUuaAkocmV2aXNpb24gMTE2MzA4KQorKysgU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAkod29ya2luZyBjb3B5KQpAQCAtMzUsOSArMzUsOSBA
QAogI2luY2x1ZGUgIldlYk5vZGUuaCIKICNpbmNsdWRlICJXZWJVUkxMb2FkZXJPcHRpb25zLmgi
CiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ2FudmFzLmgiCi0jaW5jbHVkZSAicGxhdGZvcm0vV2Vi
RmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlJlZmVycmVyUG9saWN5LmgiCiAj
aW5jbHVkZSAicGxhdGZvcm0vV2ViVVJMLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYkZpbGVTeXN0
ZW0uaD4KIAogc3RydWN0IE5QT2JqZWN0OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJGcmFtZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgJKHJldmlzaW9uIDExNjMwOCkKKysrIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTM5LDggKzM5LDggQEAKICNpbmNsdWRlICJXZWJTdG9yYWdlUXVvdGFUeXBlLmgiCiAjaW5j
bHVkZSAiV2ViVGV4dERpcmVjdGlvbi5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYkNvbW1vbi5o
IgotI2luY2x1ZGUgInBsYXRmb3JtL1dlYkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJwbGF0Zm9y
bS9XZWJVUkxFcnJvci5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtLmg+CiAKICNp
ZiBXRUJLSVRfVVNJTkdfVjgKICNpbmNsdWRlIDx2OC5oPgpJbmRleDogU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYkZpbGVTeXN0ZW0uaAkocmV2
aXNpb24gMTE2MzA4KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0v
V2ViRmlsZVN5c3RlbS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDEzOCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCi0gKiBtZXQ6Ci0gKgotICogICAgICogUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGluIHRoZSBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKLSAqIGRpc3Ry
aWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBX
ZWJGaWxlU3lzdGVtX2gKLSNkZWZpbmUgV2ViRmlsZVN5c3RlbV9oCi0KLSNpbmNsdWRlICJXZWJD
b21tb24uaCIKLSNpbmNsdWRlICJXZWJVUkwuaCIKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLS8v
IEZJWE1FOiBNb3ZlIHRoZXNlIGNsYXNzZXMgaW50byBwbGF0Zm9ybS4KLWNsYXNzIFdlYkZpbGVT
eXN0ZW1DYWxsYmFja3M7Ci1jbGFzcyBXZWJGaWxlV3JpdGVyOwotY2xhc3MgV2ViRmlsZVdyaXRl
ckNsaWVudDsKLQotY2xhc3MgV2ViRmlsZVN5c3RlbSB7Ci1wdWJsaWM6Ci0gICAgZW51bSBUeXBl
IHsKLSAgICAgICAgVHlwZVRlbXBvcmFyeSwKLSAgICAgICAgVHlwZVBlcnNpc3RlbnQsCi0KLSAg
ICAgICAgLy8gSW5kaWNhdGVzIGFuIGlzb2xhdGVkIGZpbGVzeXN0ZW0gd2hpY2ggb25seSBleHBv
c2VzIGEgc2V0IG9mIGZpbGVzLgotICAgICAgICBUeXBlSXNvbGF0ZWQsCi0KLSAgICAgICAgLy8g
SW5kaWNhdGVzIGEgbm9uLXNhbmRib3hlZCBmaWxlc3lzdGVtLgotICAgICAgICBUeXBlRXh0ZXJu
YWwsCi0gICAgfTsKLQotICAgIC8vIE1vdmVzIGEgZmlsZSBvciBkaXJlY3RvcnkgYXQgfHNyY1Bh
dGh8IHRvIHxkZXN0UGF0aHwuCi0gICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3Vj
Y2VlZCgpIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3Vj
Y2Vzc2Z1bGx5LgotICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0
IGJlIGNhbGxlZCBvdGhlcndpc2UuCi0gICAgdmlydHVhbCB2b2lkIG1vdmUoY29uc3QgV2ViVVJM
JiBzcmNQYXRoLCBjb25zdCBXZWJVUkwmIGRlc3RQYXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tz
KikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KLQotICAgIC8vIENvcGllcyBhIGZp
bGUgb3IgZGlyZWN0b3J5IGF0IHxzcmNQYXRofCB0byB8ZGVzdFBhdGh8LgotICAgIC8vIFdlYkZp
bGVTeXN0ZW1DYWxsYmFja3M6OmRpZFN1Y2NlZWQoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBv
cGVyYXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KLSAgICAvLyBXZWJGaWxlU3lzdGVt
Q2FsbGJhY2tzOjpkaWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgotICAgIHZpcnR1
YWwgdm9pZCBjb3B5KGNvbnN0IFdlYlVSTCYgc3JjUGF0aCwgY29uc3QgV2ViVVJMJiBkZXN0UGF0
aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgp
OyB9Ci0KLSAgICAvLyBEZWxldGVzIGEgZmlsZSBvciBkaXJlY3RvcnkgYXQgYSBnaXZlbiB8cGF0
aHwuCi0gICAgLy8gSXQgaXMgYW4gZXJyb3IgdG8gdHJ5IHRvIHJlbW92ZSBhIGRpcmVjdG9yeSB0
aGF0IGlzIG5vdCBlbXB0eS4KLSAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRTdWNj
ZWVkKCkgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNj
ZXNzZnVsbHkuCi0gICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11c3Qg
YmUgY2FsbGVkIG90aGVyd2lzZS4KLSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlKGNvbnN0IFdlYlVS
TCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOyB9Ci0KLSAgICAvLyBEZWxldGVzIGEgZmlsZSBvciBkaXJlY3RvcnkgcmVjdXJzaXZl
bHkgYXQgYSBnaXZlbiB8cGF0aHwuCi0gICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlk
U3VjY2VlZCgpIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQg
c3VjY2Vzc2Z1bGx5LgotICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBt
dXN0IGJlIGNhbGxlZCBvdGhlcndpc2UuCi0gICAgdmlydHVhbCB2b2lkIHJlbW92ZVJlY3Vyc2l2
ZWx5KGNvbnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lU
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9Ci0KLSAgICAvLyBSZXRyaWV2ZXMgdGhlIG1ldGFkYXRh
IGluZm9ybWF0aW9uIG9mIHRoZSBmaWxlIG9yIGRpcmVjdG9yeSBhdCB0aGUgZ2l2ZW4gfHBhdGh8
LgotICAgIC8vIFRoaXMgbWF5IG5vdCBhbHdheXMgcmV0dXJuIHRoZSBsb2NhbCBwbGF0Zm9ybSBw
YXRoIGluIHJlbW90ZSBmaWxlc3lzdGVtIGNhc2VzLgotICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxs
YmFja3M6OmRpZFJlYWRNZXRhZGF0YSgpIG11c3QgYmUgY2FsbGVkIHdpdGggYSB2YWxpZCBtZXRh
ZGF0YSB3aGVuIHRoZSByZXRyaWV2YWwgaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KLSAgICAv
LyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3
aXNlLgotICAgIHZpcnR1YWwgdm9pZCByZWFkTWV0YWRhdGEoY29uc3QgV2ViVVJMJiBwYXRoLCBX
ZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0K
LQotICAgIC8vIENyZWF0ZXMgYSBmaWxlIGF0IGdpdmVuIHxwYXRofC4KLSAgICAvLyBJZiB0aGUg
fHBhdGh8IGRvZXNuJ3QgZXhpc3QsIGl0IGNyZWF0ZXMgYSBuZXcgZmlsZSBhdCB8cGF0aHwuCi0g
ICAgLy8gSWYgfGV4Y2x1c2l2ZXwgaXMgdHJ1ZSwgaXQgZmFpbHMgaWYgdGhlIHxwYXRofCBhbHJl
YWR5IGV4aXN0cy4KLSAgICAvLyBJZiB8ZXhjbHVzaXZlfCBpcyBmYWxzZSwgaXQgc3VjY2VlZHMg
aWYgdGhlIHxwYXRofCBhbHJlYWR5IGV4aXN0cyBvcgotICAgIC8vIGl0IGhhcyBzdWNjZXNzZnVs
bHkgY3JlYXRlZCBhIG5ldyBmaWxlIGF0IHxwYXRofC4KLSAgICAvLwotICAgIC8vIFdlYkZpbGVT
eXN0ZW1DYWxsYmFja3M6OmRpZFN1Y2NlZWQoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVy
YXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KLSAgICAvLyBXZWJGaWxlU3lzdGVtQ2Fs
bGJhY2tzOjpkaWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgotICAgIHZpcnR1YWwg
dm9pZCBjcmVhdGVGaWxlKGNvbnN0IFdlYlVSTCYgcGF0aCwgYm9vbCBleGNsdXNpdmUsIFdlYkZp
bGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQotCi0g
ICAgLy8gQ3JlYXRlcyBhIGRpcmVjdG9yeSBhdCBhIGdpdmVuIHxwYXRofC4KLSAgICAvLyBJZiB0
aGUgfHBhdGh8IGRvZXNuJ3QgZXhpc3QsIGl0IGNyZWF0ZXMgYSBuZXcgZGlyZWN0b3J5IGF0IHxw
YXRofC4KLSAgICAvLyBJZiB8ZXhjbHVzaXZlfCBpcyB0cnVlLCBpdCBmYWlscyBpZiB0aGUgfHBh
dGh8IGFscmVhZHkgZXhpc3RzLgotICAgIC8vIElmIHxleGNsdXNpdmV8IGlzIGZhbHNlLCBpdCBz
dWNjZWVkcyBpZiB0aGUgfHBhdGh8IGFscmVhZHkgZXhpc3RzIG9yIGl0IGhhcyBzdWNjZXNzZnVs
bHkgY3JlYXRlZCBhIG5ldyBkaXJlY3RvcnkgYXQgfHBhdGh8LgotICAgIC8vCi0gICAgLy8gV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIG11c3QgYmUgY2FsbGVkIHdoZW4KLSAg
ICAvLyB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCi0gICAgLy8gV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11c3QgYmUgY2FsbGVkIG90aGVyd2lzZS4K
LSAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlRGlyZWN0b3J5KGNvbnN0IFdlYlVSTCYgcGF0aCwgYm9v
bCBleGNsdXNpdmUsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsgfQotCi0gICAgLy8gQ2hlY2tzIGlmIGEgZmlsZSBleGlzdHMgYXQgYSBnaXZl
biB8cGF0aHwuCi0gICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIG11
c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5
LgotICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxl
ZCBvdGhlcndpc2UuCi0gICAgdmlydHVhbCB2b2lkIGZpbGVFeGlzdHMoY29uc3QgV2ViVVJMJiBw
YXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVE
KCk7IH0KLQotICAgIC8vIENoZWNrcyBpZiBhIGRpcmVjdG9yeSBleGlzdHMgYXQgYSBnaXZlbiB8
cGF0aHwuCi0gICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIG11c3Qg
YmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Lgot
ICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBv
dGhlcndpc2UuCi0gICAgdmlydHVhbCB2b2lkIGRpcmVjdG9yeUV4aXN0cyhjb25zdCBXZWJVUkwm
IHBhdGgsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsgfQotCi0gICAgLy8gUmVhZHMgZGlyZWN0b3J5IGVudHJpZXMgb2YgYSBnaXZlbiBkaXJl
Y3RvcnkgYXQgfHBhdGh8LgotICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZFJlYWRE
aXJlY3RvcnkoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVk
IHN1Y2Nlc3NmdWxseS4KLSAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRGYWlsKCkg
bXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgotICAgIHZpcnR1YWwgdm9pZCByZWFkRGlyZWN0b3J5
KGNvbnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOyB9Ci0KLSAgICAvLyBDcmVhdGVzIGEgV2ViRmlsZVdyaXRlciB0
aGF0IGNhbiBiZSB1c2VkIHRvIHdyaXRlIHRvIHRoZSBnaXZlbiBmaWxlLgotICAgIC8vIFRoaXMg
aXMgYSBmYXN0LCBzeW5jaHJvbm91cyBjYWxsLCBhbmQgc2hvdWxkIG5vdCBzdGF0IHRoZSBmaWxl
c3lzdGVtLgotICAgIHZpcnR1YWwgV2ViRmlsZVdyaXRlciogY3JlYXRlRmlsZVdyaXRlcihjb25z
dCBXZWJVUkwmIHBhdGgsIFdlYkZpbGVXcml0ZXJDbGllbnQqKSB7IFdFQktJVF9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsgcmV0dXJuIDA7IH0KLQotICAgIC8vIENyZWF0ZXMgYSBzbmFwc2hvdCBmaWxl
IGZvciBhIGdpdmVuIGZpbGUgc3BlY2lmaWVkIGJ5IHxwYXRofCBhbmQgcmVnaXN0ZXJzIHRoZSBm
aWxlIHdpdGggdGhlIHxibG9iVVJMfC4gSXQgcmV0dXJucyB0aGUgbWV0YWRhdGEgb2YgdGhlIGNy
ZWF0ZWQgc25hcHNob3QgZmlsZS4KLSAgICAvLyBUaGUgcmV0dXJuZWQgbWV0YWRhdGEgc2hvdWxk
IGluY2x1ZGUgYSBsb2NhbCBwbGF0Zm9ybSBwYXRoIHRvIHRoZSBzbmFwc2hvdCBpbWFnZS4KLSAg
ICAvLyBJbiBsb2NhbCBmaWxlc3lzdGVtIGNhc2VzIHRoZSBiYWNrZW5kIG1heSBzaW1wbHkgcmV0
dXJuIHRoZSBtZXRhZGF0YSBvZiB0aGUgZmlsZSBpdHNlbGYgKGFzIHdlbGwgYXMgcmVhZE1ldGFk
YXRhIGRvZXMpLCB3aGlsZSBpbiByZW1vdGUgZmlsZXN5c3RlbSBjYXNlIHRoZSBiYWNrZW5kIG1h
eSBkb3dubG9hZCB0aGUgZmlsZSBpbnRvIGEgdGVtcG9yYXJ5IHNuYXBzaG90IGZpbGUgYW5kIHJl
dHVybiB0aGUgbWV0YWRhdGEgb2YgdGhlIHRlbXBvcmFyeSBmaWxlLgotICAgIC8vIFRoZSByZXR1
cm5lZCBtZXRhZGF0YSBpcyB1c2VkIHRvIGNyZWF0ZSBhIEZpbGUgb2JqZWN0IGZvciB0aGUgfHBh
dGh8LgotICAgIC8vIFRoZSBzbmFwc2hvdCBmaWxlIGlzIHN1cHBvc2VkIHRvIGJlIGRlbGV0ZWQg
d2hlbiB0aGUgbGFzdCByZWZlcmVuY2UgdG8gdGhlIHxibG9iVVJMfCBpcyBkcm9wcGVkLgotICAg
IC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZFJlYWRNZXRhZGF0YSgpIHdpdGggdGhlIG1l
dGFkYXRhIG9mIHRoZSBzbmFwc2hvdCBmaWxlIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJh
dGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LgotICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxs
YmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBvdGhlcndpc2UuCi0gICAgdmlydHVhbCB2
b2lkIGNyZWF0ZVNuYXBzaG90RmlsZUFuZFJlYWRNZXRhZGF0YShjb25zdCBXZWJVUkwmIGJsb2JV
UkwsIGNvbnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lU
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9Ci0KLXByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIH5XZWJG
aWxlU3lzdGVtKCkgeyB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJLaXRQbGF0Zm9y
bVN1cHBvcnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9w
bGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaAkocmV2aXNpb24gMTE2MzA4KQorKysgU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0
LmgJKHdvcmtpbmcgY29weSkKQEAgLTUzLDcgKzUzLDYgQEAgY2xhc3MgV2ViQXBwbGljYXRpb25D
YWNoZUhvc3RDbGllbnQ7IC8vCiBjbGFzcyBXZWJCbG9iUmVnaXN0cnk7CiBjbGFzcyBXZWJDbGlw
Ym9hcmQ7CiBjbGFzcyBXZWJDb29raWVKYXI7Ci1jbGFzcyBXZWJGaWxlU3lzdGVtOwogY2xhc3Mg
V2ViRmlsZVV0aWxpdGllczsKIGNsYXNzIFdlYklEQkZhY3Rvcnk7IC8vIEZJWE1FOiBEb2VzIHRo
aXMgYmVsb25nIGluIHBsYXRmb3JtPwogY2xhc3MgV2ViSURCS2V5OyAvLyBGSVhNRTogRG9lcyB0
aGlzIGJlbG9uZyBpbiBwbGF0Zm9ybT8KQEAgLTE3NywxMSArMTc2LDYgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgYm9vbCBjYW5BY2NlbGVyYXRlMmRDYW52YXMoKSB7IHJldHVybiBmYWxzZTsgfQog
CiAKLSAgICAvLyBGaWxlU3lzdGVtIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotICAgIC8vIE11c3QgcmV0dXJuIG5vbi1udWxsLgot
ICAgIHZpcnR1YWwgV2ViRmlsZVN5c3RlbSogZmlsZVN5c3RlbSgpIHsgcmV0dXJuIDA7IH0KLQog
ICAgIC8vIFdlYldvcmtlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiAKICAgICB2aXJ0dWFsIHZvaWQgZGlkU3RhcnRXb3JrZXJSdW5M
b29wKGNvbnN0IFdlYldvcmtlclJ1bkxvb3AmKSB7IH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCShyZXZpc2lvbiAxMTYz
MDgpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMTAwLDExICsxMDAsMTEgQEAKICNpbmNsdWRlICJXZWJUZXh0
Q2hlY2tpbmdUeXBlLmgiCiAjaW5jbHVkZSAiV2ViVmlldy5oIgogI2luY2x1ZGUgInBsYXRmb3Jt
L1dlYkNsaXBib2FyZC5oIgotI2luY2x1ZGUgInBsYXRmb3JtL1dlYkZpbGVTeXN0ZW0uaCIKICNp
bmNsdWRlICJwbGF0Zm9ybS9XZWJJQ0VPcHRpb25zLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2Vi
TWVkaWFTdHJlYW1Tb3VyY2UuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJQZWVyQ29ubmVjdGlv
bjAwSGFuZGxlci5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlBlZXJDb25uZWN0aW9uMDBIYW5k
bGVyQ2xpZW50LmgiCisjaW5jbHVkZSA8cHVibGljL1dlYkZpbGVTeXN0ZW0uaD4KICNpbmNsdWRl
IDxwdWJsaWMvV2ViRmlsdGVyT3BlcmF0aW9uLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlJlZmVy
cmVyUG9saWN5Lmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5jRmlsZVN5c3RlbUNocm9taXVtLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5j
cHAJKHJldmlzaW9uIDExNjMwOCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5j
RmlsZVN5c3RlbUNocm9taXVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsOCArNDIsOCBAQAog
I2luY2x1ZGUgIldlYkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsLmgiCiAjaW5jbHVkZSAiV2ViRmls
ZVdyaXRlci5oIgogI2luY2x1ZGUgIldlYktpdC5oIgotI2luY2x1ZGUgInBsYXRmb3JtL1dlYkZp
bGVTeXN0ZW0uaCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaCIK
KyNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KKyNpbmNsdWRlIDxwdWJsaWMvV2ViRmlsZVN5
c3RlbS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdCdWlsZGVyLmg+CiAKQEAgLTEzMSw3ICsxMzEsNyBAQCBib29sIEFzeW5jRmlsZVN5
c3RlbTo6aXNWYWxpZFR5cGUoRmlsZVN5CiAKIEFzeW5jRmlsZVN5c3RlbUNocm9taXVtOjpBc3lu
Y0ZpbGVTeXN0ZW1DaHJvbWl1bShGaWxlU3lzdGVtVHlwZSB0eXBlLCBjb25zdCBLVVJMJiByb290
VVJMKQogICAgIDogQXN5bmNGaWxlU3lzdGVtKHR5cGUpCi0gICAgLCBtX3dlYkZpbGVTeXN0ZW0o
V2ViS2l0Ojp3ZWJLaXRQbGF0Zm9ybVN1cHBvcnQoKS0+ZmlsZVN5c3RlbSgpKQorICAgICwgbV93
ZWJGaWxlU3lzdGVtKFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+ZmlsZVN5c3RlbSgpKQog
ICAgICwgbV9maWxlc3lzdGVtUm9vdFVSTChyb290VVJMKQogewogICAgIEFTU0VSVChtX3dlYkZp
bGVTeXN0ZW0pOwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxGaWxlU3lz
dGVtQ2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0xvY2FsRmlsZVN5c3RlbUNocm9taXVtLmNwcAkocmV2aXNpb24gMTE2MzA4KQorKysgU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvTG9jYWxGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MSw3ICs0MSw2IEBACiAjaW5jbHVkZSAiRmlsZVN5c3RlbVR5cGUuaCIKICNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIldlYkZpbGVFcnJvci5oIgotI2lu
Y2x1ZGUgInBsYXRmb3JtL1dlYkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJXZWJGaWxlU3lzdGVt
Q2FsbGJhY2tzSW1wbC5oIgogI2luY2x1ZGUgIldlYkZyYW1lQ2xpZW50LmgiCiAjaW5jbHVkZSAi
V2ViRnJhbWVJbXBsLmgiCkBAIC01MSw2ICs1MCw3IEBACiAjaW5jbHVkZSAiV29ya2VyQ29udGV4
dC5oIgogI2luY2x1ZGUgIldvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UuaCIKICNpbmNs
dWRlICJXb3JrZXJUaHJlYWQuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViRmlsZVN5c3RlbS5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBs
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGaWxlU3lz
dGVtQ2FsbGJhY2tzSW1wbC5jcHAJKHJldmlzaW9uIDExNjMwOCkKKysrIFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzcsMTAgKzM3LDEwIEBACiAjaW5jbHVkZSAiRmlsZU1ldGFkYXRhLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYkZpbGVJbmZvLmgiCi0j
aW5jbHVkZSAicGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIldlYkZpbGVTeXN0
ZW1FbnRyeS5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlN0cmluZy5oIgogI2luY2x1ZGUgIldv
cmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVtLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYkZpbGVT
eXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRmlsZVN5c3RlbUNhbGxi
YWNrc0ltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJG
aWxlU3lzdGVtQ2FsbGJhY2tzSW1wbC5oCShyZXZpc2lvbiAxMTYzMDgpCisrKyBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMyw4ICszMyw4IEBACiAKICNpbmNsdWRlICJGaWxlU3lzdGVtVHlwZS5oIgogI2lu
Y2x1ZGUgIldlYkZpbGVTeXN0ZW1DYWxsYmFja3MuaCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9XZWJG
aWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViVmVjdG9yLmgiCisjaW5jbHVkZSA8
cHVibGljL1dlYkZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KIApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRnJhbWVJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJGcmFtZUltcGwuY3BwCShyZXZpc2lvbiAxMTYzMDgpCisrKyBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzgsNyArMTc4
LDcgQEAKICNpbmNsdWRlICJWOERpcmVjdG9yeUVudHJ5LmgiCiAjaW5jbHVkZSAiVjhET01GaWxl
U3lzdGVtLmgiCiAjaW5jbHVkZSAiVjhGaWxlRW50cnkuaCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9X
ZWJGaWxlU3lzdGVtLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYkZpbGVTeXN0ZW0uaD4KICNlbmRp
ZgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmgJKHJldmlzaW9uIDExNjMwOCkKKysr
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzksOCArMzksOCBAQAogI2luY2x1ZGUgIldvcmtlck1lc3NhZ2luZ1Byb3h5
LmgiCiAjaW5jbHVkZSAiV29ya2VyT2JqZWN0UHJveHkuaCIKIAotI2luY2x1ZGUgInBsYXRmb3Jt
L1dlYkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJXZWJXb3JrZXJCYXNlLmgiCisjaW5jbHVkZSA8
cHVibGljL1dlYkZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyQXN5bmNGaWxl
U3lzdGVtQ2hyb21pdW0uY3BwCShyZXZpc2lvbiAxMTYzMDgpCisrKyBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9Xb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM4LDcgKzM4LDYgQEAKICNpbmNsdWRlICJGaWxlTWV0YWRhdGEuaCIKICNpbmNsdWRl
ICJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKLSNpbmNsdWRlICJw
bGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiV2ViRmlsZVN5c3RlbUNhbGxiYWNr
c0ltcGwuaCIKICNpbmNsdWRlICJXZWJGaWxlV3JpdGVyLmgiCiAjaW5jbHVkZSAiV2ViS2l0Lmgi
CkBAIC00OSw2ICs0OCw3IEBACiAjaW5jbHVkZSAiV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0Jy
aWRnZS5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJX
b3JrZXJUaHJlYWQuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViRmlsZVN5c3RlbS5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckFzeW5jRmlsZVdyaXRlckNocm9taXVt
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJBc3lu
Y0ZpbGVXcml0ZXJDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDExNjMwOCkKKysrIFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dvcmtlckFzeW5jRmlsZVdyaXRlckNocm9taXVtLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzYsNyArMzYsNiBAQAogI2luY2x1ZGUgIkFzeW5jRmlsZVN5c3RlbS5oIgog
I2luY2x1ZGUgIkJsb2IuaCIKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCi0j
aW5jbHVkZSAicGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIldlYkZpbGVXcml0
ZXIuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJVUkwuaCIKICNpbmNsdWRlICJXZWJXb3JrZXJC
YXNlLmgiCkBAIC00NCw2ICs0Myw3IEBACiAjaW5jbHVkZSAiV29ya2VyRmlsZVdyaXRlckNhbGxi
YWNrc0JyaWRnZS5oIgogI2luY2x1ZGUgIldvcmtlckxvYWRlclByb3h5LmgiCiAjaW5jbHVkZSAi
V29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYkZpbGVTeXN0ZW0uaD4KICNpbmNs
dWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwpJbmRleDog
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRn
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZpbGVT
eXN0ZW1DYWxsYmFja3NCcmlkZ2UuaAkocmV2aXNpb24gMTE2MzA4KQorKysgU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zNiw4ICszNiw4IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNp
bmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViRmlsZUVycm9y
LmgiCi0jaW5jbHVkZSAicGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgInBsYXRm
b3JtL1dlYlZlY3Rvci5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtLmg+CiAjaW5j
bHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2lu
Y2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dvcmtlckZpbGVXcml0ZXJDYWxsYmFja3NCcmlkZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZpbGVXcml0ZXJDYWxsYmFja3NCcmlkZ2UuY3Bw
CShyZXZpc2lvbiAxMTYzMDgpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJG
aWxlV3JpdGVyQ2FsbGJhY2tzQnJpZGdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsMTQgKzM2
LDE0IEBACiAjaW5jbHVkZSAiQXN5bmNGaWxlV3JpdGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiQ3Jv
c3NUaHJlYWRUYXNrLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ1N0cmluZy5oIgotI2luY2x1
ZGUgInBsYXRmb3JtL1dlYkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJXZWJGaWxlV3JpdGVyLmgi
CiAjaW5jbHVkZSAiV2ViS2l0LmgiCi0jaW5jbHVkZSAicGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1T
dXBwb3J0LmgiCiAjaW5jbHVkZSAiV2ViV29ya2VyQmFzZS5oIgogI2luY2x1ZGUgIldvcmtlckNv
bnRleHQuaCIKICNpbmNsdWRlICJXb3JrZXJMb2FkZXJQcm94eS5oIgogI2luY2x1ZGUgIldvcmtl
clRocmVhZC5oIgorI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgorI2luY2x1ZGUgPHB1Ymxp
Yy9XZWJGaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRl
IDx3dGYvVGhyZWFkaW5nLmg+CiAKQEAgLTEwNCw3ICsxMDQsNyBAQCB2b2lkIFdvcmtlckZpbGVX
cml0ZXJDYWxsYmFja3NCcmlkZ2U6OmFiCiB2b2lkIFdvcmtlckZpbGVXcml0ZXJDYWxsYmFja3NC
cmlkZ2U6OmluaXRPbk1haW5UaHJlYWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQ
dHI8V29ya2VyRmlsZVdyaXRlckNhbGxiYWNrc0JyaWRnZT4gYnJpZGdlLCBjb25zdCBLVVJMJiBw
YXRoKQogewogICAgIEFTU0VSVCghYnJpZGdlLT5tX3dyaXRlcik7Ci0gICAgYnJpZGdlLT5tX3dy
aXRlciA9IGFkb3B0UHRyKHdlYktpdFBsYXRmb3JtU3VwcG9ydCgpLT5maWxlU3lzdGVtKCktPmNy
ZWF0ZUZpbGVXcml0ZXIocGF0aCwgYnJpZGdlLmdldCgpKSk7CisgICAgYnJpZGdlLT5tX3dyaXRl
ciA9IGFkb3B0UHRyKFdlYktpdDo6UGxhdGZvcm06OmN1cnJlbnQoKS0+ZmlsZVN5c3RlbSgpLT5j
cmVhdGVGaWxlV3JpdGVyKHBhdGgsIGJyaWRnZS5nZXQoKSkpOwogfQogCiB2b2lkIFdvcmtlckZp
bGVXcml0ZXJDYWxsYmFja3NCcmlkZ2U6OnNodXRkb3duT25NYWluVGhyZWFkKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPFdvcmtlckZpbGVXcml0ZXJDYWxsYmFja3NCcmlkZ2U+
IGJyaWRnZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140558</attachid>
            <date>2012-05-07 11:14:13 -0700</date>
            <delta_ts>2012-05-07 11:36:21 -0700</delta_ts>
            <desc>Patch with forwarding header</desc>
            <filename>bug-85760-20120507141328.patch</filename>
            <type>text/plain</type>
            <size>29486</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1Bs
YXRmb3JtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE2MzIxKQorKysgU291cmNlL1BsYXRmb3JtL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA1LTA3ICBNYXJr
IFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIE1v
dmUgZmlsZVN5c3RlbSB0byBQbGF0Zm9ybS5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04NTc2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFBhcnQgb2YgYSByZWZhY3RvcmluZyBzZXJpZXMuIFNlZSB0cmFj
a2luZyBidWcgODI5NDguCisKKyAgICAgICAgKiBQbGF0Zm9ybS5neXBpOgorICAgICAgICAqIGNo
cm9taXVtL3B1YmxpYy9QbGF0Zm9ybS5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFBs
YXRmb3JtKToKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm06OmZpbGVTeXN0ZW0pOgorICAgICAg
ICAqIGNocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmg6IEFkZGVkLgorICAgICAgICAoV2Vi
S2l0KToKKyAgICAgICAgKFdlYkZpbGVTeXN0ZW0pOgorICAgICAgICAoV2ViS2l0OjpXZWJGaWxl
U3lzdGVtOjptb3ZlKToKKyAgICAgICAgKFdlYktpdDo6V2ViRmlsZVN5c3RlbTo6Y29weSk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkZpbGVTeXN0ZW06OnJlbW92ZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYkZpbGVTeXN0ZW06OnJlbW92ZVJlY3Vyc2l2ZWx5KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
RmlsZVN5c3RlbTo6cmVhZE1ldGFkYXRhKToKKyAgICAgICAgKFdlYktpdDo6V2ViRmlsZVN5c3Rl
bTo6Y3JlYXRlRmlsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkZpbGVTeXN0ZW06OmNyZWF0ZURp
cmVjdG9yeSk6CisgICAgICAgIChXZWJLaXQ6OldlYkZpbGVTeXN0ZW06OmZpbGVFeGlzdHMpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJGaWxlU3lzdGVtOjpkaXJlY3RvcnlFeGlzdHMpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJGaWxlU3lzdGVtOjpyZWFkRGlyZWN0b3J5KToKKyAgICAgICAgKFdlYktp
dDo6V2ViRmlsZVN5c3RlbTo6Y3JlYXRlRmlsZVdyaXRlcik6CisgICAgICAgIChXZWJLaXQ6Oldl
YkZpbGVTeXN0ZW06OmNyZWF0ZVNuYXBzaG90RmlsZUFuZFJlYWRNZXRhZGF0YSk6CisgICAgICAg
IChXZWJLaXQ6OldlYkZpbGVTeXN0ZW06On5XZWJGaWxlU3lzdGVtKToKKwogMjAxMi0wNS0wNyAg
VG9tbXkgV2lkZW5mbHljaHQgIDx0b21teXdAZ29vZ2xlLmNvbT4KIAogICAgICAgICBNZWRpYVN0
cmVhbSBBUEk6IFJlbmFtZSBNZWRpYVN0cmVhbUNlbnRlcjo6ZGlkQ29uc3RydWN0TWVkaWFTdHJl
YW0KSW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9QbGF0Zm9ybS9QbGF0Zm9ybS5neXBpCShyZXZpc2lvbiAxMTYzMDgpCisrKyBTb3VyY2Uv
UGxhdGZvcm0vUGxhdGZvcm0uZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQAog
ICAgICAgICAgICAgJ2Nocm9taXVtL3B1YmxpYy9XZWJDb250ZW50TGF5ZXJDbGllbnQuaCcsCiAg
ICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYkRhdGEuaCcsCiAgICAgICAgICAgICAnY2hy
b21pdW0vcHVibGljL1dlYkV4dGVybmFsVGV4dHVyZUxheWVyLmgnLAorICAgICAgICAgICAgJ2No
cm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgnLAogICAgICAgICAgICAgJ2Nocm9taXVtL3B1
YmxpYy9XZWJGaWx0ZXJPcGVyYXRpb24uaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGlj
L1dlYkZpbHRlck9wZXJhdGlvbnMuaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGljL1dl
YkZsb2F0UG9pbnQuaCcsCkluZGV4OiBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1Bs
YXRmb3JtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9Q
bGF0Zm9ybS5oCShyZXZpc2lvbiAxMTYzMDgpCisrKyBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0v
cHVibGljL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJBdWRpb0J1czsKK2NsYXNzIFdlYkZpbGVTeXN0ZW07
CiBjbGFzcyBXZWJNZWRpYVN0cmVhbUNlbnRlcjsKIGNsYXNzIFdlYk1lZGlhU3RyZWFtQ2VudGVy
Q2xpZW50OwogY2xhc3MgV2ViTWltZVJlZ2lzdHJ5OwpAQCAtNjksNiArNzAsMTEgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgV2ViQXVkaW9EZXZpY2UqIGNyZWF0ZUF1ZGlvRGV2aWNlKHNpemVfdCBi
dWZmZXJTaXplLCB1bnNpZ25lZCBudW1iZXJPZkNoYW5uZWxzLCBkb3VibGUgc2FtcGxlUmF0ZSwg
V2ViQXVkaW9EZXZpY2U6OlJlbmRlckNhbGxiYWNrKikgeyByZXR1cm4gMDsgfQogCiAKKyAgICAv
LyBGaWxlU3lzdGVtIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKworICAgIC8vIE11c3QgcmV0dXJuIG5vbi1udWxsLgorICAgIHZpcnR1
YWwgV2ViRmlsZVN5c3RlbSogZmlsZVN5c3RlbSgpIHsgcmV0dXJuIDA7IH0KKwogICAgIC8vIEdh
bWVwYWQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQogCiAgICAgdmlydHVhbCB2b2lkIHNhbXBsZUdhbWVwYWRzKFdlYkdhbWVwYWRz
JiBpbnRvKSB7IGludG8ubGVuZ3RoID0gMDsgfQpJbmRleDogU291cmNlL1BsYXRmb3JtL2Nocm9t
aXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1BsYXRmb3Jt
L2Nocm9taXVtL3B1YmxpYy9XZWJGaWxlU3lzdGVtLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2Uv
UGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0ZW0uaAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAq
IG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkZpbGVTeXN0ZW1faAorI2RlZmluZSBXZWJGaWxlU3lz
dGVtX2gKKworI2luY2x1ZGUgIldlYkNvbW1vbi5oIgorI2luY2x1ZGUgIldlYlVSTC5oIgorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworLy8gRklYTUU6IE1vdmUgdGhlc2UgY2xhc3NlcyBpbnRvIHBs
YXRmb3JtLgorY2xhc3MgV2ViRmlsZVN5c3RlbUNhbGxiYWNrczsKK2NsYXNzIFdlYkZpbGVXcml0
ZXI7CitjbGFzcyBXZWJGaWxlV3JpdGVyQ2xpZW50OworCitjbGFzcyBXZWJGaWxlU3lzdGVtIHsK
K3B1YmxpYzoKKyAgICBlbnVtIFR5cGUgeworICAgICAgICBUeXBlVGVtcG9yYXJ5LAorICAgICAg
ICBUeXBlUGVyc2lzdGVudCwKKworICAgICAgICAvLyBJbmRpY2F0ZXMgYW4gaXNvbGF0ZWQgZmls
ZXN5c3RlbSB3aGljaCBvbmx5IGV4cG9zZXMgYSBzZXQgb2YgZmlsZXMuCisgICAgICAgIFR5cGVJ
c29sYXRlZCwKKworICAgICAgICAvLyBJbmRpY2F0ZXMgYSBub24tc2FuZGJveGVkIGZpbGVzeXN0
ZW0uCisgICAgICAgIFR5cGVFeHRlcm5hbCwKKyAgICB9OworCisgICAgLy8gTW92ZXMgYSBmaWxl
IG9yIGRpcmVjdG9yeSBhdCB8c3JjUGF0aHwgdG8gfGRlc3RQYXRofC4KKyAgICAvLyBXZWJGaWxl
U3lzdGVtQ2FsbGJhY2tzOjpkaWRTdWNjZWVkKCkgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3Bl
cmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNh
bGxiYWNrczo6ZGlkRmFpbCgpIG11c3QgYmUgY2FsbGVkIG90aGVyd2lzZS4KKyAgICB2aXJ0dWFs
IHZvaWQgbW92ZShjb25zdCBXZWJVUkwmIHNyY1BhdGgsIGNvbnN0IFdlYlVSTCYgZGVzdFBhdGgs
IFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsg
fQorCisgICAgLy8gQ29waWVzIGEgZmlsZSBvciBkaXJlY3RvcnkgYXQgfHNyY1BhdGh8IHRvIHxk
ZXN0UGF0aHwuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIG11
c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5
LgorICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxl
ZCBvdGhlcndpc2UuCisgICAgdmlydHVhbCB2b2lkIGNvcHkoY29uc3QgV2ViVVJMJiBzcmNQYXRo
LCBjb25zdCBXZWJVUkwmIGRlc3RQYXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJL
SVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKworICAgIC8vIERlbGV0ZXMgYSBmaWxlIG9yIGRp
cmVjdG9yeSBhdCBhIGdpdmVuIHxwYXRofC4KKyAgICAvLyBJdCBpcyBhbiBlcnJvciB0byB0cnkg
dG8gcmVtb3ZlIGEgZGlyZWN0b3J5IHRoYXQgaXMgbm90IGVtcHR5LgorICAgIC8vIFdlYkZpbGVT
eXN0ZW1DYWxsYmFja3M6OmRpZFN1Y2NlZWQoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVy
YXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2Fs
bGJhY2tzOjpkaWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgorICAgIHZpcnR1YWwg
dm9pZCByZW1vdmUoY29uc3QgV2ViVVJMJiBwYXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikg
eyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKworICAgIC8vIERlbGV0ZXMgYSBmaWxl
IG9yIGRpcmVjdG9yeSByZWN1cnNpdmVseSBhdCBhIGdpdmVuIHxwYXRofC4KKyAgICAvLyBXZWJG
aWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRTdWNjZWVkKCkgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUg
b3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCisgICAgLy8gV2ViRmlsZVN5c3Rl
bUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11c3QgYmUgY2FsbGVkIG90aGVyd2lzZS4KKyAgICB2aXJ0
dWFsIHZvaWQgcmVtb3ZlUmVjdXJzaXZlbHkoY29uc3QgV2ViVVJMJiBwYXRoLCBXZWJGaWxlU3lz
dGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKworICAgIC8v
IFJldHJpZXZlcyB0aGUgbWV0YWRhdGEgaW5mb3JtYXRpb24gb2YgdGhlIGZpbGUgb3IgZGlyZWN0
b3J5IGF0IHRoZSBnaXZlbiB8cGF0aHwuCisgICAgLy8gVGhpcyBtYXkgbm90IGFsd2F5cyByZXR1
cm4gdGhlIGxvY2FsIHBsYXRmb3JtIHBhdGggaW4gcmVtb3RlIGZpbGVzeXN0ZW0gY2FzZXMuCisg
ICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkUmVhZE1ldGFkYXRhKCkgbXVzdCBiZSBj
YWxsZWQgd2l0aCBhIHZhbGlkIG1ldGFkYXRhIHdoZW4gdGhlIHJldHJpZXZhbCBpcyBjb21wbGV0
ZWQgc3VjY2Vzc2Z1bGx5LgorICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwo
KSBtdXN0IGJlIGNhbGxlZCBvdGhlcndpc2UuCisgICAgdmlydHVhbCB2b2lkIHJlYWRNZXRhZGF0
YShjb25zdCBXZWJVUkwmIHBhdGgsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsgfQorCisgICAgLy8gQ3JlYXRlcyBhIGZpbGUgYXQgZ2l2ZW4g
fHBhdGh8LgorICAgIC8vIElmIHRoZSB8cGF0aHwgZG9lc24ndCBleGlzdCwgaXQgY3JlYXRlcyBh
IG5ldyBmaWxlIGF0IHxwYXRofC4KKyAgICAvLyBJZiB8ZXhjbHVzaXZlfCBpcyB0cnVlLCBpdCBm
YWlscyBpZiB0aGUgfHBhdGh8IGFscmVhZHkgZXhpc3RzLgorICAgIC8vIElmIHxleGNsdXNpdmV8
IGlzIGZhbHNlLCBpdCBzdWNjZWVkcyBpZiB0aGUgfHBhdGh8IGFscmVhZHkgZXhpc3RzIG9yCisg
ICAgLy8gaXQgaGFzIHN1Y2Nlc3NmdWxseSBjcmVhdGVkIGEgbmV3IGZpbGUgYXQgfHBhdGh8Lgor
ICAgIC8vCisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIG11c3Qg
YmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Lgor
ICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBv
dGhlcndpc2UuCisgICAgdmlydHVhbCB2b2lkIGNyZWF0ZUZpbGUoY29uc3QgV2ViVVJMJiBwYXRo
LCBib29sIGV4Y2x1c2l2ZSwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOyB9CisKKyAgICAvLyBDcmVhdGVzIGEgZGlyZWN0b3J5IGF0IGEgZ2l2
ZW4gfHBhdGh8LgorICAgIC8vIElmIHRoZSB8cGF0aHwgZG9lc24ndCBleGlzdCwgaXQgY3JlYXRl
cyBhIG5ldyBkaXJlY3RvcnkgYXQgfHBhdGh8LgorICAgIC8vIElmIHxleGNsdXNpdmV8IGlzIHRy
dWUsIGl0IGZhaWxzIGlmIHRoZSB8cGF0aHwgYWxyZWFkeSBleGlzdHMuCisgICAgLy8gSWYgfGV4
Y2x1c2l2ZXwgaXMgZmFsc2UsIGl0IHN1Y2NlZWRzIGlmIHRoZSB8cGF0aHwgYWxyZWFkeSBleGlz
dHMgb3IgaXQgaGFzIHN1Y2Nlc3NmdWxseSBjcmVhdGVkIGEgbmV3IGRpcmVjdG9yeSBhdCB8cGF0
aHwuCisgICAgLy8KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRTdWNjZWVkKCkg
bXVzdCBiZSBjYWxsZWQgd2hlbgorICAgIC8vIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVkIHN1
Y2Nlc3NmdWxseS4KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRGYWlsKCkgbXVz
dCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgorICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVEaXJlY3Rvcnko
Y29uc3QgV2ViVVJMJiBwYXRoLCBib29sIGV4Y2x1c2l2ZSwgV2ViRmlsZVN5c3RlbUNhbGxiYWNr
cyopIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CisKKyAgICAvLyBDaGVja3MgaWYg
YSBmaWxlIGV4aXN0cyBhdCBhIGdpdmVuIHxwYXRofC4KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2Fs
bGJhY2tzOjpkaWRTdWNjZWVkKCkgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9uIGlz
IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6
ZGlkRmFpbCgpIG11c3QgYmUgY2FsbGVkIG90aGVyd2lzZS4KKyAgICB2aXJ0dWFsIHZvaWQgZmls
ZUV4aXN0cyhjb25zdCBXZWJVUkwmIHBhdGgsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdF
QktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQorCisgICAgLy8gQ2hlY2tzIGlmIGEgZGlyZWN0
b3J5IGV4aXN0cyBhdCBhIGdpdmVuIHxwYXRofC4KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJh
Y2tzOjpkaWRTdWNjZWVkKCkgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9uIGlzIGNv
bXBsZXRlZCBzdWNjZXNzZnVsbHkuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlk
RmFpbCgpIG11c3QgYmUgY2FsbGVkIG90aGVyd2lzZS4KKyAgICB2aXJ0dWFsIHZvaWQgZGlyZWN0
b3J5RXhpc3RzKGNvbnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsg
V0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CisKKyAgICAvLyBSZWFkcyBkaXJlY3Rvcnkg
ZW50cmllcyBvZiBhIGdpdmVuIGRpcmVjdG9yeSBhdCB8cGF0aHwuCisgICAgLy8gV2ViRmlsZVN5
c3RlbUNhbGxiYWNrczo6ZGlkUmVhZERpcmVjdG9yeSgpIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhl
IG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LgorICAgIC8vIFdlYkZpbGVTeXN0
ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBvdGhlcndpc2UuCisgICAgdmly
dHVhbCB2b2lkIHJlYWREaXJlY3RvcnkoY29uc3QgV2ViVVJMJiBwYXRoLCBXZWJGaWxlU3lzdGVt
Q2FsbGJhY2tzKikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKworICAgIC8vIENy
ZWF0ZXMgYSBXZWJGaWxlV3JpdGVyIHRoYXQgY2FuIGJlIHVzZWQgdG8gd3JpdGUgdG8gdGhlIGdp
dmVuIGZpbGUuCisgICAgLy8gVGhpcyBpcyBhIGZhc3QsIHN5bmNocm9ub3VzIGNhbGwsIGFuZCBz
aG91bGQgbm90IHN0YXQgdGhlIGZpbGVzeXN0ZW0uCisgICAgdmlydHVhbCBXZWJGaWxlV3JpdGVy
KiBjcmVhdGVGaWxlV3JpdGVyKGNvbnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVdyaXRlckNsaWVu
dCopIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gMDsgfQorCisgICAgLy8g
Q3JlYXRlcyBhIHNuYXBzaG90IGZpbGUgZm9yIGEgZ2l2ZW4gZmlsZSBzcGVjaWZpZWQgYnkgfHBh
dGh8IGFuZCByZWdpc3RlcnMgdGhlIGZpbGUgd2l0aCB0aGUgfGJsb2JVUkx8LiBJdCByZXR1cm5z
IHRoZSBtZXRhZGF0YSBvZiB0aGUgY3JlYXRlZCBzbmFwc2hvdCBmaWxlLgorICAgIC8vIFRoZSBy
ZXR1cm5lZCBtZXRhZGF0YSBzaG91bGQgaW5jbHVkZSBhIGxvY2FsIHBsYXRmb3JtIHBhdGggdG8g
dGhlIHNuYXBzaG90IGltYWdlLgorICAgIC8vIEluIGxvY2FsIGZpbGVzeXN0ZW0gY2FzZXMgdGhl
IGJhY2tlbmQgbWF5IHNpbXBseSByZXR1cm4gdGhlIG1ldGFkYXRhIG9mIHRoZSBmaWxlIGl0c2Vs
ZiAoYXMgd2VsbCBhcyByZWFkTWV0YWRhdGEgZG9lcyksIHdoaWxlIGluIHJlbW90ZSBmaWxlc3lz
dGVtIGNhc2UgdGhlIGJhY2tlbmQgbWF5IGRvd25sb2FkIHRoZSBmaWxlIGludG8gYSB0ZW1wb3Jh
cnkgc25hcHNob3QgZmlsZSBhbmQgcmV0dXJuIHRoZSBtZXRhZGF0YSBvZiB0aGUgdGVtcG9yYXJ5
IGZpbGUuCisgICAgLy8gVGhlIHJldHVybmVkIG1ldGFkYXRhIGlzIHVzZWQgdG8gY3JlYXRlIGEg
RmlsZSBvYmplY3QgZm9yIHRoZSB8cGF0aHwuCisgICAgLy8gVGhlIHNuYXBzaG90IGZpbGUgaXMg
c3VwcG9zZWQgdG8gYmUgZGVsZXRlZCB3aGVuIHRoZSBsYXN0IHJlZmVyZW5jZSB0byB0aGUgfGJs
b2JVUkx8IGlzIGRyb3BwZWQuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkUmVh
ZE1ldGFkYXRhKCkgd2l0aCB0aGUgbWV0YWRhdGEgb2YgdGhlIHNuYXBzaG90IGZpbGUgbXVzdCBi
ZSBjYWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCisg
ICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11c3QgYmUgY2FsbGVkIG90
aGVyd2lzZS4KKyAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlU25hcHNob3RGaWxlQW5kUmVhZE1ldGFk
YXRhKGNvbnN0IFdlYlVSTCYgYmxvYlVSTCwgY29uc3QgV2ViVVJMJiBwYXRoLCBXZWJGaWxlU3lz
dGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKworcHJvdGVj
dGVkOgorICAgIHZpcnR1YWwgfldlYkZpbGVTeXN0ZW0oKSB7IH0KK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdAorCisjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZp
c2lvbiAxMTYzMjEpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDEyLTA1LTA3ICBNYXJrIFBpbGdyaW0gIDxwaWxn
cmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIE1vdmUgZmlsZVN5c3RlbSB0
byBQbGF0Zm9ybS5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04NTc2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFBhcnQgb2YgYSByZWZhY3RvcmluZyBzZXJpZXMuIFNlZSB0cmFja2luZyBidWcgODI5NDgu
CisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAgICAgICAqIHB1YmxpYy9XZWJDb21tb25Xb3Jr
ZXJDbGllbnQuaDoKKyAgICAgICAgKiBwdWJsaWMvcGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oOgor
ICAgICAgICAqIHB1YmxpYy9wbGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaDoKKyAgICAg
ICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXRQbGF0Zm9ybVN1cHBvcnQpOgorICAgICAgICAq
IHNyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBzcmMvQXN5bmNGaWxlU3lz
dGVtQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNGaWxlU3lzdGVtQ2hyb21p
dW06OkFzeW5jRmlsZVN5c3RlbUNocm9taXVtKToKKyAgICAgICAgKiBzcmMvTG9jYWxGaWxlU3lz
dGVtQ2hyb21pdW0uY3BwOgorICAgICAgICAqIHNyYy9XZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1w
bC5jcHA6CisgICAgICAgICogc3JjL1dlYkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsLmg6CisgICAg
ICAgICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAgICogc3JjL1dlYldvcmtlckNsaWVu
dEltcGwuaDoKKyAgICAgICAgKiBzcmMvV29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uY3Bw
OgorICAgICAgICAqIHNyYy9Xb3JrZXJBc3luY0ZpbGVXcml0ZXJDaHJvbWl1bS5jcHA6CisgICAg
ICAgICogc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UuaDoKKyAgICAgICAgKiBz
cmMvV29ya2VyRmlsZVdyaXRlckNhbGxiYWNrc0JyaWRnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldvcmtlckZpbGVXcml0ZXJDYWxsYmFja3NCcmlkZ2U6OmluaXRPbk1haW5UaHJlYWQpOgorCiAy
MDEyLTA1LTA3ICBOYXQgRHVjYSAgPG5kdWNhQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkLCByb2xsaW5nIG91dCByMTE1NTI1LgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1
bS9XZWJLaXQuZ3lwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0
Lmd5cAkocmV2aXNpb24gMTE2MzA4KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQu
Z3lwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDksNyArMzA5LDYgQEAKICAgICAgICAgICAgICAgICAn
cHVibGljL3BsYXRmb3JtL1dlYkRhdGEuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9wbGF0
Zm9ybS9XZWJEcmFnRGF0YS5oJywKICAgICAgICAgICAgICAgICAncHVibGljL3BsYXRmb3JtL1dl
YkV4dGVybmFsVGV4dHVyZUxheWVyLmgnLAotICAgICAgICAgICAgICAgICdwdWJsaWMvcGxhdGZv
cm0vV2ViRmlsZVN5c3RlbS5oJywKICAgICAgICAgICAgICAgICAncHVibGljL3BsYXRmb3JtL1dl
YkZsb2F0UG9pbnQuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9wbGF0Zm9ybS9XZWJGbG9h
dFF1YWQuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9wbGF0Zm9ybS9XZWJGbG9hdFJlY3Qu
aCcsCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJDb21tb25Xb3JrZXJD
bGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJD
b21tb25Xb3JrZXJDbGllbnQuaAkocmV2aXNpb24gMTE2MzA4KQorKysgU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViQ29tbW9uV29ya2VyQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTMyLDcgKzMyLDcgQEAKICNkZWZpbmUgV2ViQ29tbW9uV29ya2VyQ2xpZW50X2gKIAogI2luY2x1
ZGUgInBsYXRmb3JtL1dlYkNvbW1vbi5oIgotI2luY2x1ZGUgInBsYXRmb3JtL1dlYkZpbGVTeXN0
ZW0uaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViRmlsZVN5c3RlbS5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIApJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2Vi
RmlsZVN5c3RlbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L3BsYXRmb3JtL1dlYkZpbGVTeXN0ZW0uaAkocmV2aXNpb24gMTE2MzA4KQorKysgU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCwxMTEgKzI4LDQgQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmbmRlZiBX
ZWJGaWxlU3lzdGVtX2gKLSNkZWZpbmUgV2ViRmlsZVN5c3RlbV9oCi0KLSNpbmNsdWRlICJXZWJD
b21tb24uaCIKLSNpbmNsdWRlICJXZWJVUkwuaCIKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLS8v
IEZJWE1FOiBNb3ZlIHRoZXNlIGNsYXNzZXMgaW50byBwbGF0Zm9ybS4KLWNsYXNzIFdlYkZpbGVT
eXN0ZW1DYWxsYmFja3M7Ci1jbGFzcyBXZWJGaWxlV3JpdGVyOwotY2xhc3MgV2ViRmlsZVdyaXRl
ckNsaWVudDsKLQotY2xhc3MgV2ViRmlsZVN5c3RlbSB7Ci1wdWJsaWM6Ci0gICAgZW51bSBUeXBl
IHsKLSAgICAgICAgVHlwZVRlbXBvcmFyeSwKLSAgICAgICAgVHlwZVBlcnNpc3RlbnQsCi0KLSAg
ICAgICAgLy8gSW5kaWNhdGVzIGFuIGlzb2xhdGVkIGZpbGVzeXN0ZW0gd2hpY2ggb25seSBleHBv
c2VzIGEgc2V0IG9mIGZpbGVzLgotICAgICAgICBUeXBlSXNvbGF0ZWQsCi0KLSAgICAgICAgLy8g
SW5kaWNhdGVzIGEgbm9uLXNhbmRib3hlZCBmaWxlc3lzdGVtLgotICAgICAgICBUeXBlRXh0ZXJu
YWwsCi0gICAgfTsKLQotICAgIC8vIE1vdmVzIGEgZmlsZSBvciBkaXJlY3RvcnkgYXQgfHNyY1Bh
dGh8IHRvIHxkZXN0UGF0aHwuCi0gICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3Vj
Y2VlZCgpIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3Vj
Y2Vzc2Z1bGx5LgotICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0
IGJlIGNhbGxlZCBvdGhlcndpc2UuCi0gICAgdmlydHVhbCB2b2lkIG1vdmUoY29uc3QgV2ViVVJM
JiBzcmNQYXRoLCBjb25zdCBXZWJVUkwmIGRlc3RQYXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tz
KikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KLQotICAgIC8vIENvcGllcyBhIGZp
bGUgb3IgZGlyZWN0b3J5IGF0IHxzcmNQYXRofCB0byB8ZGVzdFBhdGh8LgotICAgIC8vIFdlYkZp
bGVTeXN0ZW1DYWxsYmFja3M6OmRpZFN1Y2NlZWQoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBv
cGVyYXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KLSAgICAvLyBXZWJGaWxlU3lzdGVt
Q2FsbGJhY2tzOjpkaWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgotICAgIHZpcnR1
YWwgdm9pZCBjb3B5KGNvbnN0IFdlYlVSTCYgc3JjUGF0aCwgY29uc3QgV2ViVVJMJiBkZXN0UGF0
aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgp
OyB9Ci0KLSAgICAvLyBEZWxldGVzIGEgZmlsZSBvciBkaXJlY3RvcnkgYXQgYSBnaXZlbiB8cGF0
aHwuCi0gICAgLy8gSXQgaXMgYW4gZXJyb3IgdG8gdHJ5IHRvIHJlbW92ZSBhIGRpcmVjdG9yeSB0
aGF0IGlzIG5vdCBlbXB0eS4KLSAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRTdWNj
ZWVkKCkgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNj
ZXNzZnVsbHkuCi0gICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11c3Qg
YmUgY2FsbGVkIG90aGVyd2lzZS4KLSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlKGNvbnN0IFdlYlVS
TCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOyB9Ci0KLSAgICAvLyBEZWxldGVzIGEgZmlsZSBvciBkaXJlY3RvcnkgcmVjdXJzaXZl
bHkgYXQgYSBnaXZlbiB8cGF0aHwuCi0gICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlk
U3VjY2VlZCgpIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQg
c3VjY2Vzc2Z1bGx5LgotICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBt
dXN0IGJlIGNhbGxlZCBvdGhlcndpc2UuCi0gICAgdmlydHVhbCB2b2lkIHJlbW92ZVJlY3Vyc2l2
ZWx5KGNvbnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lU
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9Ci0KLSAgICAvLyBSZXRyaWV2ZXMgdGhlIG1ldGFkYXRh
IGluZm9ybWF0aW9uIG9mIHRoZSBmaWxlIG9yIGRpcmVjdG9yeSBhdCB0aGUgZ2l2ZW4gfHBhdGh8
LgotICAgIC8vIFRoaXMgbWF5IG5vdCBhbHdheXMgcmV0dXJuIHRoZSBsb2NhbCBwbGF0Zm9ybSBw
YXRoIGluIHJlbW90ZSBmaWxlc3lzdGVtIGNhc2VzLgotICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxs
YmFja3M6OmRpZFJlYWRNZXRhZGF0YSgpIG11c3QgYmUgY2FsbGVkIHdpdGggYSB2YWxpZCBtZXRh
ZGF0YSB3aGVuIHRoZSByZXRyaWV2YWwgaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KLSAgICAv
LyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3
aXNlLgotICAgIHZpcnR1YWwgdm9pZCByZWFkTWV0YWRhdGEoY29uc3QgV2ViVVJMJiBwYXRoLCBX
ZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0K
LQotICAgIC8vIENyZWF0ZXMgYSBmaWxlIGF0IGdpdmVuIHxwYXRofC4KLSAgICAvLyBJZiB0aGUg
fHBhdGh8IGRvZXNuJ3QgZXhpc3QsIGl0IGNyZWF0ZXMgYSBuZXcgZmlsZSBhdCB8cGF0aHwuCi0g
ICAgLy8gSWYgfGV4Y2x1c2l2ZXwgaXMgdHJ1ZSwgaXQgZmFpbHMgaWYgdGhlIHxwYXRofCBhbHJl
YWR5IGV4aXN0cy4KLSAgICAvLyBJZiB8ZXhjbHVzaXZlfCBpcyBmYWxzZSwgaXQgc3VjY2VlZHMg
aWYgdGhlIHxwYXRofCBhbHJlYWR5IGV4aXN0cyBvcgotICAgIC8vIGl0IGhhcyBzdWNjZXNzZnVs
bHkgY3JlYXRlZCBhIG5ldyBmaWxlIGF0IHxwYXRofC4KLSAgICAvLwotICAgIC8vIFdlYkZpbGVT
eXN0ZW1DYWxsYmFja3M6OmRpZFN1Y2NlZWQoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVy
YXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KLSAgICAvLyBXZWJGaWxlU3lzdGVtQ2Fs
bGJhY2tzOjpkaWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgotICAgIHZpcnR1YWwg
dm9pZCBjcmVhdGVGaWxlKGNvbnN0IFdlYlVSTCYgcGF0aCwgYm9vbCBleGNsdXNpdmUsIFdlYkZp
bGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQotCi0g
ICAgLy8gQ3JlYXRlcyBhIGRpcmVjdG9yeSBhdCBhIGdpdmVuIHxwYXRofC4KLSAgICAvLyBJZiB0
aGUgfHBhdGh8IGRvZXNuJ3QgZXhpc3QsIGl0IGNyZWF0ZXMgYSBuZXcgZGlyZWN0b3J5IGF0IHxw
YXRofC4KLSAgICAvLyBJZiB8ZXhjbHVzaXZlfCBpcyB0cnVlLCBpdCBmYWlscyBpZiB0aGUgfHBh
dGh8IGFscmVhZHkgZXhpc3RzLgotICAgIC8vIElmIHxleGNsdXNpdmV8IGlzIGZhbHNlLCBpdCBz
dWNjZWVkcyBpZiB0aGUgfHBhdGh8IGFscmVhZHkgZXhpc3RzIG9yIGl0IGhhcyBzdWNjZXNzZnVs
bHkgY3JlYXRlZCBhIG5ldyBkaXJlY3RvcnkgYXQgfHBhdGh8LgotICAgIC8vCi0gICAgLy8gV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIG11c3QgYmUgY2FsbGVkIHdoZW4KLSAg
ICAvLyB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCi0gICAgLy8gV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11c3QgYmUgY2FsbGVkIG90aGVyd2lzZS4K
LSAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlRGlyZWN0b3J5KGNvbnN0IFdlYlVSTCYgcGF0aCwgYm9v
bCBleGNsdXNpdmUsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsgfQotCi0gICAgLy8gQ2hlY2tzIGlmIGEgZmlsZSBleGlzdHMgYXQgYSBnaXZl
biB8cGF0aHwuCi0gICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIG11
c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5
LgotICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxl
ZCBvdGhlcndpc2UuCi0gICAgdmlydHVhbCB2b2lkIGZpbGVFeGlzdHMoY29uc3QgV2ViVVJMJiBw
YXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVE
KCk7IH0KLQotICAgIC8vIENoZWNrcyBpZiBhIGRpcmVjdG9yeSBleGlzdHMgYXQgYSBnaXZlbiB8
cGF0aHwuCi0gICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIG11c3Qg
YmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Lgot
ICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBv
dGhlcndpc2UuCi0gICAgdmlydHVhbCB2b2lkIGRpcmVjdG9yeUV4aXN0cyhjb25zdCBXZWJVUkwm
IHBhdGgsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsgfQotCi0gICAgLy8gUmVhZHMgZGlyZWN0b3J5IGVudHJpZXMgb2YgYSBnaXZlbiBkaXJl
Y3RvcnkgYXQgfHBhdGh8LgotICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZFJlYWRE
aXJlY3RvcnkoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVk
IHN1Y2Nlc3NmdWxseS4KLSAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRGYWlsKCkg
bXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgotICAgIHZpcnR1YWwgdm9pZCByZWFkRGlyZWN0b3J5
KGNvbnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOyB9Ci0KLSAgICAvLyBDcmVhdGVzIGEgV2ViRmlsZVdyaXRlciB0
aGF0IGNhbiBiZSB1c2VkIHRvIHdyaXRlIHRvIHRoZSBnaXZlbiBmaWxlLgotICAgIC8vIFRoaXMg
aXMgYSBmYXN0LCBzeW5jaHJvbm91cyBjYWxsLCBhbmQgc2hvdWxkIG5vdCBzdGF0IHRoZSBmaWxl
c3lzdGVtLgotICAgIHZpcnR1YWwgV2ViRmlsZVdyaXRlciogY3JlYXRlRmlsZVdyaXRlcihjb25z
dCBXZWJVUkwmIHBhdGgsIFdlYkZpbGVXcml0ZXJDbGllbnQqKSB7IFdFQktJVF9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsgcmV0dXJuIDA7IH0KLQotICAgIC8vIENyZWF0ZXMgYSBzbmFwc2hvdCBmaWxl
IGZvciBhIGdpdmVuIGZpbGUgc3BlY2lmaWVkIGJ5IHxwYXRofCBhbmQgcmVnaXN0ZXJzIHRoZSBm
aWxlIHdpdGggdGhlIHxibG9iVVJMfC4gSXQgcmV0dXJucyB0aGUgbWV0YWRhdGEgb2YgdGhlIGNy
ZWF0ZWQgc25hcHNob3QgZmlsZS4KLSAgICAvLyBUaGUgcmV0dXJuZWQgbWV0YWRhdGEgc2hvdWxk
IGluY2x1ZGUgYSBsb2NhbCBwbGF0Zm9ybSBwYXRoIHRvIHRoZSBzbmFwc2hvdCBpbWFnZS4KLSAg
ICAvLyBJbiBsb2NhbCBmaWxlc3lzdGVtIGNhc2VzIHRoZSBiYWNrZW5kIG1heSBzaW1wbHkgcmV0
dXJuIHRoZSBtZXRhZGF0YSBvZiB0aGUgZmlsZSBpdHNlbGYgKGFzIHdlbGwgYXMgcmVhZE1ldGFk
YXRhIGRvZXMpLCB3aGlsZSBpbiByZW1vdGUgZmlsZXN5c3RlbSBjYXNlIHRoZSBiYWNrZW5kIG1h
eSBkb3dubG9hZCB0aGUgZmlsZSBpbnRvIGEgdGVtcG9yYXJ5IHNuYXBzaG90IGZpbGUgYW5kIHJl
dHVybiB0aGUgbWV0YWRhdGEgb2YgdGhlIHRlbXBvcmFyeSBmaWxlLgotICAgIC8vIFRoZSByZXR1
cm5lZCBtZXRhZGF0YSBpcyB1c2VkIHRvIGNyZWF0ZSBhIEZpbGUgb2JqZWN0IGZvciB0aGUgfHBh
dGh8LgotICAgIC8vIFRoZSBzbmFwc2hvdCBmaWxlIGlzIHN1cHBvc2VkIHRvIGJlIGRlbGV0ZWQg
d2hlbiB0aGUgbGFzdCByZWZlcmVuY2UgdG8gdGhlIHxibG9iVVJMfCBpcyBkcm9wcGVkLgotICAg
IC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZFJlYWRNZXRhZGF0YSgpIHdpdGggdGhlIG1l
dGFkYXRhIG9mIHRoZSBzbmFwc2hvdCBmaWxlIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJh
dGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LgotICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxs
YmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBvdGhlcndpc2UuCi0gICAgdmlydHVhbCB2
b2lkIGNyZWF0ZVNuYXBzaG90RmlsZUFuZFJlYWRNZXRhZGF0YShjb25zdCBXZWJVUkwmIGJsb2JV
UkwsIGNvbnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lU
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9Ci0KLXByb3RlY3RlZDoKLSAgICB2aXJ0dWFsIH5XZWJG
aWxlU3lzdGVtKCkgeyB9Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKLQotI2VuZGlmCisj
aW5jbHVkZSAiLi4vLi4vLi4vLi4vUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0
ZW0uaCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYktp
dFBsYXRmb3JtU3VwcG9ydC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL3BsYXRmb3JtL1dlYktpdFBsYXRmb3JtU3VwcG9ydC5oCShyZXZpc2lvbiAxMTYzMDgp
CisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJLaXRQbGF0Zm9y
bVN1cHBvcnQuaAkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNiBAQCBjbGFzcyBXZWJBcHBs
aWNhdGlvbkNhY2hlSG9zdENsaWVudDsgLy8KIGNsYXNzIFdlYkJsb2JSZWdpc3RyeTsKIGNsYXNz
IFdlYkNsaXBib2FyZDsKIGNsYXNzIFdlYkNvb2tpZUphcjsKLWNsYXNzIFdlYkZpbGVTeXN0ZW07
CiBjbGFzcyBXZWJGaWxlVXRpbGl0aWVzOwogY2xhc3MgV2ViSURCRmFjdG9yeTsgLy8gRklYTUU6
IERvZXMgdGhpcyBiZWxvbmcgaW4gcGxhdGZvcm0/CiBjbGFzcyBXZWJJREJLZXk7IC8vIEZJWE1F
OiBEb2VzIHRoaXMgYmVsb25nIGluIHBsYXRmb3JtPwpAQCAtMTc3LDExICsxNzYsNiBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBib29sIGNhbkFjY2VsZXJhdGUyZENhbnZhcygpIHsgcmV0dXJuIGZh
bHNlOyB9CiAKIAotICAgIC8vIEZpbGVTeXN0ZW0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0gICAgLy8gTXVzdCByZXR1cm4gbm9u
LW51bGwuCi0gICAgdmlydHVhbCBXZWJGaWxlU3lzdGVtKiBmaWxlU3lzdGVtKCkgeyByZXR1cm4g
MDsgfQotCiAgICAgLy8gV2ViV29ya2VyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIHZpcnR1YWwgdm9pZCBkaWRTdGFydFdv
cmtlclJ1bkxvb3AoY29uc3QgV2ViV29ya2VyUnVuTG9vcCYpIHsgfQpJbmRleDogU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAJKHJldmlz
aW9uIDExNjMwOCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5n
RW51bXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDAsMTEgKzEwMCwxMSBAQAogI2luY2x1ZGUg
IldlYlRleHRDaGVja2luZ1R5cGUuaCIKICNpbmNsdWRlICJXZWJWaWV3LmgiCiAjaW5jbHVkZSAi
cGxhdGZvcm0vV2ViQ2xpcGJvYXJkLmgiCi0jaW5jbHVkZSAicGxhdGZvcm0vV2ViRmlsZVN5c3Rl
bS5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYklDRU9wdGlvbnMuaCIKICNpbmNsdWRlICJwbGF0
Zm9ybS9XZWJNZWRpYVN0cmVhbVNvdXJjZS5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlBlZXJD
b25uZWN0aW9uMDBIYW5kbGVyLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViUGVlckNvbm5lY3Rp
b24wMEhhbmRsZXJDbGllbnQuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViRmlsZVN5c3RlbS5oPgog
I2luY2x1ZGUgPHB1YmxpYy9XZWJGaWx0ZXJPcGVyYXRpb24uaD4KICNpbmNsdWRlIDxwdWJsaWMv
V2ViUmVmZXJyZXJQb2xpY3kuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgpJbmRleDog
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5jRmlsZVN5c3RlbUNo
cm9taXVtLmNwcAkocmV2aXNpb24gMTE2MzA4KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw4ICs0
Miw4IEBACiAjaW5jbHVkZSAiV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwuaCIKICNpbmNsdWRl
ICJXZWJGaWxlV3JpdGVyLmgiCiAjaW5jbHVkZSAiV2ViS2l0LmgiCi0jaW5jbHVkZSAicGxhdGZv
cm0vV2ViRmlsZVN5c3RlbS5oIgotI2luY2x1ZGUgInBsYXRmb3JtL1dlYktpdFBsYXRmb3JtU3Vw
cG9ydC5oIgorI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgorI2luY2x1ZGUgPHB1YmxpYy9X
ZWJGaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIApAQCAtMTMxLDcgKzEzMSw3IEBAIGJvb2wgQXN5
bmNGaWxlU3lzdGVtOjppc1ZhbGlkVHlwZShGaWxlU3kKIAogQXN5bmNGaWxlU3lzdGVtQ2hyb21p
dW06OkFzeW5jRmlsZVN5c3RlbUNocm9taXVtKEZpbGVTeXN0ZW1UeXBlIHR5cGUsIGNvbnN0IEtV
UkwmIHJvb3RVUkwpCiAgICAgOiBBc3luY0ZpbGVTeXN0ZW0odHlwZSkKLSAgICAsIG1fd2ViRmls
ZVN5c3RlbShXZWJLaXQ6OndlYktpdFBsYXRmb3JtU3VwcG9ydCgpLT5maWxlU3lzdGVtKCkpCisg
ICAgLCBtX3dlYkZpbGVTeXN0ZW0oV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT5maWxlU3lz
dGVtKCkpCiAgICAgLCBtX2ZpbGVzeXN0ZW1Sb290VVJMKHJvb3RVUkwpCiB7CiAgICAgQVNTRVJU
KG1fd2ViRmlsZVN5c3RlbSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Mb2Nh
bEZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvTG9jYWxGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCShyZXZpc2lvbiAxMTYzMDgpCisr
KyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Mb2NhbEZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQxLDYgQEAKICNpbmNsdWRlICJGaWxlU3lzdGVtVHlw
ZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2ViRmlsZUVycm9y
LmgiCi0jaW5jbHVkZSAicGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIldlYkZp
bGVTeXN0ZW1DYWxsYmFja3NJbXBsLmgiCiAjaW5jbHVkZSAiV2ViRnJhbWVDbGllbnQuaCIKICNp
bmNsdWRlICJXZWJGcmFtZUltcGwuaCIKQEAgLTUxLDYgKzUwLDcgQEAKICNpbmNsdWRlICJXb3Jr
ZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiV29ya2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZS5o
IgogI2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lz
dGVtLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2Vi
S2l0OwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRmlsZVN5c3RlbUNhbGxi
YWNrc0ltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsLmNwcAkocmV2aXNpb24gMTE2MzA4KQorKysgU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNywxMCArMzcsMTAgQEAKICNpbmNsdWRlICJGaWxlTWV0YWRhdGEuaCIK
ICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiV2ViRmlsZUlu
Zm8uaCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiV2Vi
RmlsZVN5c3RlbUVudHJ5LmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViU3RyaW5nLmgiCiAjaW5j
bHVkZSAiV29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uaCIKKyNpbmNsdWRlIDxwdWJsaWMv
V2ViRmlsZVN5c3RlbS5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogdXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGaWxlU3lz
dGVtQ2FsbGJhY2tzSW1wbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsLmgJKHJldmlzaW9uIDExNjMwOCkKKysrIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMzLDggKzMzLDggQEAKIAogI2luY2x1ZGUgIkZpbGVTeXN0ZW1UeXBl
LmgiCiAjaW5jbHVkZSAiV2ViRmlsZVN5c3RlbUNhbGxiYWNrcy5oIgotI2luY2x1ZGUgInBsYXRm
b3JtL1dlYkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJWZWN0b3IuaCIKKyNp
bmNsdWRlIDxwdWJsaWMvV2ViRmlsZVN5c3RlbS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAJKHJldmlzaW9uIDExNjMwOCkKKysrIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3
OCw3ICsxNzgsNyBAQAogI2luY2x1ZGUgIlY4RGlyZWN0b3J5RW50cnkuaCIKICNpbmNsdWRlICJW
OERPTUZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJWOEZpbGVFbnRyeS5oIgotI2luY2x1ZGUgInBs
YXRmb3JtL1dlYkZpbGVTeXN0ZW0uaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViRmlsZVN5c3RlbS5o
PgogI2VuZGlmCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpJbmRleDogU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYldvcmtlckNsaWVudEltcGwuaAkocmV2aXNpb24gMTE2
MzA4KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zOSw4ICszOSw4IEBACiAjaW5jbHVkZSAiV29ya2VyTWVzc2Fn
aW5nUHJveHkuaCIKICNpbmNsdWRlICJXb3JrZXJPYmplY3RQcm94eS5oIgogCi0jaW5jbHVkZSAi
cGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIldlYldvcmtlckJhc2UuaCIKKyNp
bmNsdWRlIDxwdWJsaWMvV2ViRmlsZVN5c3RlbS5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9t
aXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJB
c3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAJKHJldmlzaW9uIDExNjMwOCkKKysrIFNvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckFzeW5jRmlsZVN5c3RlbUNocm9taXVtLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNiBAQAogI2luY2x1ZGUgIkZpbGVNZXRhZGF0YS5oIgog
I2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgotI2lu
Y2x1ZGUgInBsYXRmb3JtL1dlYkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJXZWJGaWxlU3lzdGVt
Q2FsbGJhY2tzSW1wbC5oIgogI2luY2x1ZGUgIldlYkZpbGVXcml0ZXIuaCIKICNpbmNsdWRlICJX
ZWJLaXQuaCIKQEAgLTQ5LDYgKzQ4LDcgQEAKICNpbmNsdWRlICJXb3JrZXJGaWxlU3lzdGVtQ2Fs
bGJhY2tzQnJpZGdlLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0Q29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIldvcmtlclRocmVhZC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyQXN5bmNGaWxlV3JpdGVy
Q2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dv
cmtlckFzeW5jRmlsZVdyaXRlckNocm9taXVtLmNwcAkocmV2aXNpb24gMTE2MzA4KQorKysgU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyQXN5bmNGaWxlV3JpdGVyQ2hyb21pdW0uY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zNiw3ICszNiw2IEBACiAjaW5jbHVkZSAiQXN5bmNGaWxlU3lz
dGVtLmgiCiAjaW5jbHVkZSAiQmxvYi5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuaCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiV2Vi
RmlsZVdyaXRlci5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlVSTC5oIgogI2luY2x1ZGUgIldl
YldvcmtlckJhc2UuaCIKQEAgLTQ0LDYgKzQzLDcgQEAKICNpbmNsdWRlICJXb3JrZXJGaWxlV3Jp
dGVyQ2FsbGJhY2tzQnJpZGdlLmgiCiAjaW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNp
bmNsdWRlICJXb3JrZXJUaHJlYWQuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViRmlsZVN5c3RlbS5o
PgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7
CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJGaWxlU3lzdGVtQ2FsbGJh
Y2tzQnJpZGdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29y
a2VyRmlsZVN5c3RlbUNhbGxiYWNrc0JyaWRnZS5oCShyZXZpc2lvbiAxMTYzMDgpCisrKyBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM2LDggKzM2LDggQEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmlu
Zy5oIgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJG
aWxlRXJyb3IuaCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmgiCiAjaW5jbHVk
ZSAicGxhdGZvcm0vV2ViVmVjdG9yLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYkZpbGVTeXN0ZW0u
aD4KICNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgpJbmRleDogU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV29ya2VyRmlsZVdyaXRlckNhbGxiYWNrc0JyaWRnZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyRmlsZVdyaXRlckNhbGxiYWNrc0Jy
aWRnZS5jcHAJKHJldmlzaW9uIDExNjMwOCkKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dvcmtlckZpbGVXcml0ZXJDYWxsYmFja3NCcmlkZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
NiwxNCArMzYsMTQgQEAKICNpbmNsdWRlICJBc3luY0ZpbGVXcml0ZXJDbGllbnQuaCIKICNpbmNs
dWRlICJDcm9zc1RocmVhZFRhc2suaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJDU3RyaW5nLmgi
Ci0jaW5jbHVkZSAicGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIldlYkZpbGVX
cml0ZXIuaCIKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9XZWJLaXRQ
bGF0Zm9ybVN1cHBvcnQuaCIKICNpbmNsdWRlICJXZWJXb3JrZXJCYXNlLmgiCiAjaW5jbHVkZSAi
V29ya2VyQ29udGV4dC5oIgogI2luY2x1ZGUgIldvcmtlckxvYWRlclByb3h5LmgiCiAjaW5jbHVk
ZSAiV29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSA8cHVibGljL1BsYXRmb3JtLmg+CisjaW5jbHVk
ZSA8cHVibGljL1dlYkZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgog
I2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KIApAQCAtMTA0LDcgKzEwNCw3IEBAIHZvaWQgV29y
a2VyRmlsZVdyaXRlckNhbGxiYWNrc0JyaWRnZTo6YWIKIHZvaWQgV29ya2VyRmlsZVdyaXRlckNh
bGxiYWNrc0JyaWRnZTo6aW5pdE9uTWFpblRocmVhZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
UGFzc1JlZlB0cjxXb3JrZXJGaWxlV3JpdGVyQ2FsbGJhY2tzQnJpZGdlPiBicmlkZ2UsIGNvbnN0
IEtVUkwmIHBhdGgpCiB7CiAgICAgQVNTRVJUKCFicmlkZ2UtPm1fd3JpdGVyKTsKLSAgICBicmlk
Z2UtPm1fd3JpdGVyID0gYWRvcHRQdHIod2ViS2l0UGxhdGZvcm1TdXBwb3J0KCktPmZpbGVTeXN0
ZW0oKS0+Y3JlYXRlRmlsZVdyaXRlcihwYXRoLCBicmlkZ2UuZ2V0KCkpKTsKKyAgICBicmlkZ2Ut
Pm1fd3JpdGVyID0gYWRvcHRQdHIoV2ViS2l0OjpQbGF0Zm9ybTo6Y3VycmVudCgpLT5maWxlU3lz
dGVtKCktPmNyZWF0ZUZpbGVXcml0ZXIocGF0aCwgYnJpZGdlLmdldCgpKSk7CiB9CiAKIHZvaWQg
V29ya2VyRmlsZVdyaXRlckNhbGxiYWNrc0JyaWRnZTo6c2h1dGRvd25Pbk1haW5UaHJlYWQoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8V29ya2VyRmlsZVdyaXRlckNhbGxiYWNr
c0JyaWRnZT4gYnJpZGdlKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140563</attachid>
            <date>2012-05-07 11:36:26 -0700</date>
            <delta_ts>2012-05-07 12:11:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85760-20120507143541.patch</filename>
            <type>text/plain</type>
            <size>28975</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1Bs
YXRmb3JtL0NoYW5nZUxvZwkocmV2aXNpb24gMTE2MzIyKQorKysgU291cmNlL1BsYXRmb3JtL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA1LTA3ICBNYXJr
IFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21pdW1dIE1v
dmUgZmlsZVN5c3RlbSB0byBQbGF0Zm9ybS5oCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04NTc2MAorCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFy
dGguCisKKyAgICAgICAgUGFydCBvZiBhIHJlZmFjdG9yaW5nIHNlcmllcy4gU2VlIHRyYWNraW5n
IGJ1ZyA4Mjk0OC4KKworICAgICAgICAqIFBsYXRmb3JtLmd5cGk6CisgICAgICAgICogY2hyb21p
dW0vcHVibGljL1BsYXRmb3JtLmg6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoUGxhdGZv
cm0pOgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybTo6ZmlsZVN5c3RlbSk6CisgICAgICAgICog
Y2hyb21pdW0vcHVibGljL1dlYkZpbGVTeXN0ZW0uaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQp
OgorICAgICAgICAoV2ViRmlsZVN5c3RlbSk6CisgICAgICAgIChXZWJLaXQ6OldlYkZpbGVTeXN0
ZW06Om1vdmUpOgorICAgICAgICAoV2ViS2l0OjpXZWJGaWxlU3lzdGVtOjpjb3B5KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViRmlsZVN5c3RlbTo6cmVtb3ZlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
RmlsZVN5c3RlbTo6cmVtb3ZlUmVjdXJzaXZlbHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJGaWxl
U3lzdGVtOjpyZWFkTWV0YWRhdGEpOgorICAgICAgICAoV2ViS2l0OjpXZWJGaWxlU3lzdGVtOjpj
cmVhdGVGaWxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViRmlsZVN5c3RlbTo6Y3JlYXRlRGlyZWN0
b3J5KToKKyAgICAgICAgKFdlYktpdDo6V2ViRmlsZVN5c3RlbTo6ZmlsZUV4aXN0cyk6CisgICAg
ICAgIChXZWJLaXQ6OldlYkZpbGVTeXN0ZW06OmRpcmVjdG9yeUV4aXN0cyk6CisgICAgICAgIChX
ZWJLaXQ6OldlYkZpbGVTeXN0ZW06OnJlYWREaXJlY3RvcnkpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJGaWxlU3lzdGVtOjpjcmVhdGVGaWxlV3JpdGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViRmls
ZVN5c3RlbTo6Y3JlYXRlU25hcHNob3RGaWxlQW5kUmVhZE1ldGFkYXRhKToKKyAgICAgICAgKFdl
YktpdDo6V2ViRmlsZVN5c3RlbTo6fldlYkZpbGVTeXN0ZW0pOgorCiAyMDEyLTA1LTA3ICBUb21t
eSBXaWRlbmZseWNodCAgPHRvbW15d0Bnb29nbGUuY29tPgogCiAgICAgICAgIE1lZGlhU3RyZWFt
IEFQSTogUmVuYW1lIE1lZGlhU3RyZWFtQ2VudGVyOjpkaWRDb25zdHJ1Y3RNZWRpYVN0cmVhbQpJ
bmRleDogU291cmNlL1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1BsYXRmb3JtL1BsYXRmb3JtLmd5cGkJKHJldmlzaW9uIDExNjMyMikKKysrIFNvdXJjZS9QbGF0
Zm9ybS9QbGF0Zm9ybS5neXBpCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBACiAgICAg
ICAgICAgICAnY2hyb21pdW0vcHVibGljL1dlYkNvbnRlbnRMYXllckNsaWVudC5oJywKICAgICAg
ICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViRGF0YS5oJywKICAgICAgICAgICAgICdjaHJvbWl1
bS9wdWJsaWMvV2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXIuaCcsCisgICAgICAgICAgICAnY2hyb21p
dW0vcHVibGljL1dlYkZpbGVTeXN0ZW0uaCcsCiAgICAgICAgICAgICAnY2hyb21pdW0vcHVibGlj
L1dlYkZpbHRlck9wZXJhdGlvbi5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2Vi
RmlsdGVyT3BlcmF0aW9ucy5oJywKICAgICAgICAgICAgICdjaHJvbWl1bS9wdWJsaWMvV2ViRmxv
YXRQb2ludC5oJywKSW5kZXg6IFNvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvUGxhdGZv
cm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1BsYXRm
b3JtLmgJKHJldmlzaW9uIDExNjMyMikKKysrIFNvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJs
aWMvUGxhdGZvcm0uaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKIGNsYXNzIFdlYkF1ZGlvQnVzOworY2xhc3MgV2ViRmlsZVN5c3RlbTsKIGNs
YXNzIFdlYk1lZGlhU3RyZWFtQ2VudGVyOwogY2xhc3MgV2ViTWVkaWFTdHJlYW1DZW50ZXJDbGll
bnQ7CiBjbGFzcyBXZWJNaW1lUmVnaXN0cnk7CkBAIC02OSw2ICs3MCwxMSBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCBXZWJBdWRpb0RldmljZSogY3JlYXRlQXVkaW9EZXZpY2Uoc2l6ZV90IGJ1ZmZl
clNpemUsIHVuc2lnbmVkIG51bWJlck9mQ2hhbm5lbHMsIGRvdWJsZSBzYW1wbGVSYXRlLCBXZWJB
dWRpb0RldmljZTo6UmVuZGVyQ2FsbGJhY2sqKSB7IHJldHVybiAwOyB9CiAKIAorICAgIC8vIEZp
bGVTeXN0ZW0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorCisgICAgLy8gTXVzdCByZXR1cm4gbm9uLW51bGwuCisgICAgdmlydHVhbCBX
ZWJGaWxlU3lzdGVtKiBmaWxlU3lzdGVtKCkgeyByZXR1cm4gMDsgfQorCiAgICAgLy8gR2FtZXBh
ZCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tCiAKICAgICB2aXJ0dWFsIHZvaWQgc2FtcGxlR2FtZXBhZHMoV2ViR2FtZXBhZHMmIGlu
dG8pIHsgaW50by5sZW5ndGggPSAwOyB9CkluZGV4OiBTb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0v
cHVibGljL1dlYkZpbGVTeXN0ZW0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvUGxhdGZvcm0vY2hy
b21pdW0vcHVibGljL1dlYkZpbGVTeXN0ZW0uaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9QbGF0
Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5c3RlbS5oCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDEzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0
OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
CisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgV2ViRmlsZVN5c3RlbV9oCisjZGVmaW5lIFdlYkZpbGVTeXN0ZW1f
aAorCisjaW5jbHVkZSAiV2ViQ29tbW9uLmgiCisjaW5jbHVkZSAiV2ViVVJMLmgiCisKK25hbWVz
cGFjZSBXZWJLaXQgeworCisvLyBGSVhNRTogTW92ZSB0aGVzZSBjbGFzc2VzIGludG8gcGxhdGZv
cm0uCitjbGFzcyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOworY2xhc3MgV2ViRmlsZVdyaXRlcjsK
K2NsYXNzIFdlYkZpbGVXcml0ZXJDbGllbnQ7CisKK2NsYXNzIFdlYkZpbGVTeXN0ZW0geworcHVi
bGljOgorICAgIGVudW0gVHlwZSB7CisgICAgICAgIFR5cGVUZW1wb3JhcnksCisgICAgICAgIFR5
cGVQZXJzaXN0ZW50LAorCisgICAgICAgIC8vIEluZGljYXRlcyBhbiBpc29sYXRlZCBmaWxlc3lz
dGVtIHdoaWNoIG9ubHkgZXhwb3NlcyBhIHNldCBvZiBmaWxlcy4KKyAgICAgICAgVHlwZUlzb2xh
dGVkLAorCisgICAgICAgIC8vIEluZGljYXRlcyBhIG5vbi1zYW5kYm94ZWQgZmlsZXN5c3RlbS4K
KyAgICAgICAgVHlwZUV4dGVybmFsLAorICAgIH07CisKKyAgICAvLyBNb3ZlcyBhIGZpbGUgb3Ig
ZGlyZWN0b3J5IGF0IHxzcmNQYXRofCB0byB8ZGVzdFBhdGh8LgorICAgIC8vIFdlYkZpbGVTeXN0
ZW1DYWxsYmFja3M6OmRpZFN1Y2NlZWQoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVyYXRp
b24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJh
Y2tzOjpkaWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgorICAgIHZpcnR1YWwgdm9p
ZCBtb3ZlKGNvbnN0IFdlYlVSTCYgc3JjUGF0aCwgY29uc3QgV2ViVVJMJiBkZXN0UGF0aCwgV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CisK
KyAgICAvLyBDb3BpZXMgYSBmaWxlIG9yIGRpcmVjdG9yeSBhdCB8c3JjUGF0aHwgdG8gfGRlc3RQ
YXRofC4KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRTdWNjZWVkKCkgbXVzdCBi
ZSBjYWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCisg
ICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11c3QgYmUgY2FsbGVkIG90
aGVyd2lzZS4KKyAgICB2aXJ0dWFsIHZvaWQgY29weShjb25zdCBXZWJVUkwmIHNyY1BhdGgsIGNv
bnN0IFdlYlVSTCYgZGVzdFBhdGgsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9B
U1NFUlRfTk9UX1JFQUNIRUQoKTsgfQorCisgICAgLy8gRGVsZXRlcyBhIGZpbGUgb3IgZGlyZWN0
b3J5IGF0IGEgZ2l2ZW4gfHBhdGh8LgorICAgIC8vIEl0IGlzIGFuIGVycm9yIHRvIHRyeSB0byBy
ZW1vdmUgYSBkaXJlY3RvcnkgdGhhdCBpcyBub3QgZW1wdHkuCisgICAgLy8gV2ViRmlsZVN5c3Rl
bUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlv
biBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LgorICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFj
a3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBvdGhlcndpc2UuCisgICAgdmlydHVhbCB2b2lk
IHJlbW92ZShjb25zdCBXZWJVUkwmIHBhdGgsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdF
QktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQorCisgICAgLy8gRGVsZXRlcyBhIGZpbGUgb3Ig
ZGlyZWN0b3J5IHJlY3Vyc2l2ZWx5IGF0IGEgZ2l2ZW4gfHBhdGh8LgorICAgIC8vIFdlYkZpbGVT
eXN0ZW1DYWxsYmFja3M6OmRpZFN1Y2NlZWQoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVy
YXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2Fs
bGJhY2tzOjpkaWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgorICAgIHZpcnR1YWwg
dm9pZCByZW1vdmVSZWN1cnNpdmVseShjb25zdCBXZWJVUkwmIHBhdGgsIFdlYkZpbGVTeXN0ZW1D
YWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQorCisgICAgLy8gUmV0
cmlldmVzIHRoZSBtZXRhZGF0YSBpbmZvcm1hdGlvbiBvZiB0aGUgZmlsZSBvciBkaXJlY3Rvcnkg
YXQgdGhlIGdpdmVuIHxwYXRofC4KKyAgICAvLyBUaGlzIG1heSBub3QgYWx3YXlzIHJldHVybiB0
aGUgbG9jYWwgcGxhdGZvcm0gcGF0aCBpbiByZW1vdGUgZmlsZXN5c3RlbSBjYXNlcy4KKyAgICAv
LyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRSZWFkTWV0YWRhdGEoKSBtdXN0IGJlIGNhbGxl
ZCB3aXRoIGEgdmFsaWQgbWV0YWRhdGEgd2hlbiB0aGUgcmV0cmlldmFsIGlzIGNvbXBsZXRlZCBz
dWNjZXNzZnVsbHkuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11
c3QgYmUgY2FsbGVkIG90aGVyd2lzZS4KKyAgICB2aXJ0dWFsIHZvaWQgcmVhZE1ldGFkYXRhKGNv
bnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FTU0VS
VF9OT1RfUkVBQ0hFRCgpOyB9CisKKyAgICAvLyBDcmVhdGVzIGEgZmlsZSBhdCBnaXZlbiB8cGF0
aHwuCisgICAgLy8gSWYgdGhlIHxwYXRofCBkb2Vzbid0IGV4aXN0LCBpdCBjcmVhdGVzIGEgbmV3
IGZpbGUgYXQgfHBhdGh8LgorICAgIC8vIElmIHxleGNsdXNpdmV8IGlzIHRydWUsIGl0IGZhaWxz
IGlmIHRoZSB8cGF0aHwgYWxyZWFkeSBleGlzdHMuCisgICAgLy8gSWYgfGV4Y2x1c2l2ZXwgaXMg
ZmFsc2UsIGl0IHN1Y2NlZWRzIGlmIHRoZSB8cGF0aHwgYWxyZWFkeSBleGlzdHMgb3IKKyAgICAv
LyBpdCBoYXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgYSBuZXcgZmlsZSBhdCB8cGF0aHwuCisgICAg
Ly8KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRTdWNjZWVkKCkgbXVzdCBiZSBj
YWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCisgICAg
Ly8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11c3QgYmUgY2FsbGVkIG90aGVy
d2lzZS4KKyAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlRmlsZShjb25zdCBXZWJVUkwmIHBhdGgsIGJv
b2wgZXhjbHVzaXZlLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRfQVNTRVJUX05P
VF9SRUFDSEVEKCk7IH0KKworICAgIC8vIENyZWF0ZXMgYSBkaXJlY3RvcnkgYXQgYSBnaXZlbiB8
cGF0aHwuCisgICAgLy8gSWYgdGhlIHxwYXRofCBkb2Vzbid0IGV4aXN0LCBpdCBjcmVhdGVzIGEg
bmV3IGRpcmVjdG9yeSBhdCB8cGF0aHwuCisgICAgLy8gSWYgfGV4Y2x1c2l2ZXwgaXMgdHJ1ZSwg
aXQgZmFpbHMgaWYgdGhlIHxwYXRofCBhbHJlYWR5IGV4aXN0cy4KKyAgICAvLyBJZiB8ZXhjbHVz
aXZlfCBpcyBmYWxzZSwgaXQgc3VjY2VlZHMgaWYgdGhlIHxwYXRofCBhbHJlYWR5IGV4aXN0cyBv
ciBpdCBoYXMgc3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgYSBuZXcgZGlyZWN0b3J5IGF0IHxwYXRofC4K
KyAgICAvLworICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZFN1Y2NlZWQoKSBtdXN0
IGJlIGNhbGxlZCB3aGVuCisgICAgLy8gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vz
c2Z1bGx5LgorICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJl
IGNhbGxlZCBvdGhlcndpc2UuCisgICAgdmlydHVhbCB2b2lkIGNyZWF0ZURpcmVjdG9yeShjb25z
dCBXZWJVUkwmIHBhdGgsIGJvb2wgZXhjbHVzaXZlLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikg
eyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKworICAgIC8vIENoZWNrcyBpZiBhIGZp
bGUgZXhpc3RzIGF0IGEgZ2l2ZW4gfHBhdGh8LgorICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFj
a3M6OmRpZFN1Y2NlZWQoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVyYXRpb24gaXMgY29t
cGxldGVkIHN1Y2Nlc3NmdWxseS4KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRG
YWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgorICAgIHZpcnR1YWwgdm9pZCBmaWxlRXhp
c3RzKGNvbnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lU
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CisKKyAgICAvLyBDaGVja3MgaWYgYSBkaXJlY3Rvcnkg
ZXhpc3RzIGF0IGEgZ2l2ZW4gfHBhdGh8LgorICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6
OmRpZFN1Y2NlZWQoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVyYXRpb24gaXMgY29tcGxl
dGVkIHN1Y2Nlc3NmdWxseS4KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRGYWls
KCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgorICAgIHZpcnR1YWwgdm9pZCBkaXJlY3RvcnlF
eGlzdHMoY29uc3QgV2ViVVJMJiBwYXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJL
SVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKworICAgIC8vIFJlYWRzIGRpcmVjdG9yeSBlbnRy
aWVzIG9mIGEgZ2l2ZW4gZGlyZWN0b3J5IGF0IHxwYXRofC4KKyAgICAvLyBXZWJGaWxlU3lzdGVt
Q2FsbGJhY2tzOjpkaWRSZWFkRGlyZWN0b3J5KCkgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3Bl
cmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNh
bGxiYWNrczo6ZGlkRmFpbCgpIG11c3QgYmUgY2FsbGVkIG90aGVyd2lzZS4KKyAgICB2aXJ0dWFs
IHZvaWQgcmVhZERpcmVjdG9yeShjb25zdCBXZWJVUkwmIHBhdGgsIFdlYkZpbGVTeXN0ZW1DYWxs
YmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQorCisgICAgLy8gQ3JlYXRl
cyBhIFdlYkZpbGVXcml0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB3cml0ZSB0byB0aGUgZ2l2ZW4g
ZmlsZS4KKyAgICAvLyBUaGlzIGlzIGEgZmFzdCwgc3luY2hyb25vdXMgY2FsbCwgYW5kIHNob3Vs
ZCBub3Qgc3RhdCB0aGUgZmlsZXN5c3RlbS4KKyAgICB2aXJ0dWFsIFdlYkZpbGVXcml0ZXIqIGNy
ZWF0ZUZpbGVXcml0ZXIoY29uc3QgV2ViVVJMJiBwYXRoLCBXZWJGaWxlV3JpdGVyQ2xpZW50Kikg
eyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IHJldHVybiAwOyB9CisKKyAgICAvLyBDcmVh
dGVzIGEgc25hcHNob3QgZmlsZSBmb3IgYSBnaXZlbiBmaWxlIHNwZWNpZmllZCBieSB8cGF0aHwg
YW5kIHJlZ2lzdGVycyB0aGUgZmlsZSB3aXRoIHRoZSB8YmxvYlVSTHwuIEl0IHJldHVybnMgdGhl
IG1ldGFkYXRhIG9mIHRoZSBjcmVhdGVkIHNuYXBzaG90IGZpbGUuCisgICAgLy8gVGhlIHJldHVy
bmVkIG1ldGFkYXRhIHNob3VsZCBpbmNsdWRlIGEgbG9jYWwgcGxhdGZvcm0gcGF0aCB0byB0aGUg
c25hcHNob3QgaW1hZ2UuCisgICAgLy8gSW4gbG9jYWwgZmlsZXN5c3RlbSBjYXNlcyB0aGUgYmFj
a2VuZCBtYXkgc2ltcGx5IHJldHVybiB0aGUgbWV0YWRhdGEgb2YgdGhlIGZpbGUgaXRzZWxmIChh
cyB3ZWxsIGFzIHJlYWRNZXRhZGF0YSBkb2VzKSwgd2hpbGUgaW4gcmVtb3RlIGZpbGVzeXN0ZW0g
Y2FzZSB0aGUgYmFja2VuZCBtYXkgZG93bmxvYWQgdGhlIGZpbGUgaW50byBhIHRlbXBvcmFyeSBz
bmFwc2hvdCBmaWxlIGFuZCByZXR1cm4gdGhlIG1ldGFkYXRhIG9mIHRoZSB0ZW1wb3JhcnkgZmls
ZS4KKyAgICAvLyBUaGUgcmV0dXJuZWQgbWV0YWRhdGEgaXMgdXNlZCB0byBjcmVhdGUgYSBGaWxl
IG9iamVjdCBmb3IgdGhlIHxwYXRofC4KKyAgICAvLyBUaGUgc25hcHNob3QgZmlsZSBpcyBzdXBw
b3NlZCB0byBiZSBkZWxldGVkIHdoZW4gdGhlIGxhc3QgcmVmZXJlbmNlIHRvIHRoZSB8YmxvYlVS
THwgaXMgZHJvcHBlZC4KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRSZWFkTWV0
YWRhdGEoKSB3aXRoIHRoZSBtZXRhZGF0YSBvZiB0aGUgc25hcHNob3QgZmlsZSBtdXN0IGJlIGNh
bGxlZCB3aGVuIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KKyAgICAv
LyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3
aXNlLgorICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVTbmFwc2hvdEZpbGVBbmRSZWFkTWV0YWRhdGEo
Y29uc3QgV2ViVVJMJiBibG9iVVJMLCBjb25zdCBXZWJVUkwmIHBhdGgsIFdlYkZpbGVTeXN0ZW1D
YWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQorCitwcm90ZWN0ZWQ6
CisgICAgdmlydHVhbCB+V2ViRmlsZVN5c3RlbSgpIHsgfQorfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJldmlzaW9u
IDExNjMyMikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTItMDUtMDcgIE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1A
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0gTW92ZSBmaWxlU3lzdGVtIHRvIFBs
YXRmb3JtLmgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTg1NzYwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBQYXJ0
IG9mIGEgcmVmYWN0b3Jpbmcgc2VyaWVzLiBTZWUgdHJhY2tpbmcgYnVnIDgyOTQ4LgorCisgICAg
ICAgICogV2ViS2l0Lmd5cDoKKyAgICAgICAgKiBwdWJsaWMvcGxhdGZvcm0vV2ViRmlsZVN5c3Rl
bS5oOgorICAgICAgICAqIHB1YmxpYy9wbGF0Zm9ybS9XZWJLaXRQbGF0Zm9ybVN1cHBvcnQuaDoK
KyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXRQbGF0Zm9ybVN1cHBvcnQpOgorICAg
ICAgICAqIHNyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcDoKKyAgICAgICAgKiBzcmMvQXN5bmNG
aWxlU3lzdGVtQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXN5bmNGaWxlU3lzdGVt
Q2hyb21pdW06OkFzeW5jRmlsZVN5c3RlbUNocm9taXVtKToKKyAgICAgICAgKiBzcmMvTG9jYWxG
aWxlU3lzdGVtQ2hyb21pdW0uY3BwOgorICAgICAgICAqIHNyYy9XZWJGaWxlU3lzdGVtQ2FsbGJh
Y2tzSW1wbC5jcHA6CisgICAgICAgICogc3JjL1dlYkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsLmg6
CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6CisgICAgICAgICogc3JjL1dlYldvcmtl
ckNsaWVudEltcGwuaDoKKyAgICAgICAgKiBzcmMvV29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21p
dW0uY3BwOgorICAgICAgICAqIHNyYy9Xb3JrZXJBc3luY0ZpbGVXcml0ZXJDaHJvbWl1bS5jcHA6
CisgICAgICAgICogc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2UuaDoKKyAgICAg
ICAgKiBzcmMvV29ya2VyRmlsZVdyaXRlckNhbGxiYWNrc0JyaWRnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldvcmtlckZpbGVXcml0ZXJDYWxsYmFja3NCcmlkZ2U6OmluaXRPbk1haW5UaHJlYWQp
OgorCiAyMDEyLTA1LTA3ICBOYXQgRHVjYSAgPG5kdWNhQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTE1NTI1LgpJbmRleDogU291cmNlL1dlYktpdC9j
aHJvbWl1bS9XZWJLaXQuZ3lwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0v
V2ViS2l0Lmd5cAkocmV2aXNpb24gMTE2MzIyKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9X
ZWJLaXQuZ3lwCSh3b3JraW5nIGNvcHkpCkBAIC0zMDksNyArMzA5LDYgQEAKICAgICAgICAgICAg
ICAgICAncHVibGljL3BsYXRmb3JtL1dlYkRhdGEuaCcsCiAgICAgICAgICAgICAgICAgJ3B1Ymxp
Yy9wbGF0Zm9ybS9XZWJEcmFnRGF0YS5oJywKICAgICAgICAgICAgICAgICAncHVibGljL3BsYXRm
b3JtL1dlYkV4dGVybmFsVGV4dHVyZUxheWVyLmgnLAotICAgICAgICAgICAgICAgICdwdWJsaWMv
cGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oJywKICAgICAgICAgICAgICAgICAncHVibGljL3BsYXRm
b3JtL1dlYkZsb2F0UG9pbnQuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9wbGF0Zm9ybS9X
ZWJGbG9hdFF1YWQuaCcsCiAgICAgICAgICAgICAgICAgJ3B1YmxpYy9wbGF0Zm9ybS9XZWJGbG9h
dFJlY3QuaCcsCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9X
ZWJGaWxlU3lzdGVtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvcGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oCShyZXZpc2lvbiAxMTYzMjIpCisrKyBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI4LDExMSArMjgsNCBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVm
IFdlYkZpbGVTeXN0ZW1faAotI2RlZmluZSBXZWJGaWxlU3lzdGVtX2gKLQotI2luY2x1ZGUgIldl
YkNvbW1vbi5oIgotI2luY2x1ZGUgIldlYlVSTC5oIgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQot
Ly8gRklYTUU6IE1vdmUgdGhlc2UgY2xhc3NlcyBpbnRvIHBsYXRmb3JtLgotY2xhc3MgV2ViRmls
ZVN5c3RlbUNhbGxiYWNrczsKLWNsYXNzIFdlYkZpbGVXcml0ZXI7Ci1jbGFzcyBXZWJGaWxlV3Jp
dGVyQ2xpZW50OwotCi1jbGFzcyBXZWJGaWxlU3lzdGVtIHsKLXB1YmxpYzoKLSAgICBlbnVtIFR5
cGUgewotICAgICAgICBUeXBlVGVtcG9yYXJ5LAotICAgICAgICBUeXBlUGVyc2lzdGVudCwKLQot
ICAgICAgICAvLyBJbmRpY2F0ZXMgYW4gaXNvbGF0ZWQgZmlsZXN5c3RlbSB3aGljaCBvbmx5IGV4
cG9zZXMgYSBzZXQgb2YgZmlsZXMuCi0gICAgICAgIFR5cGVJc29sYXRlZCwKLQotICAgICAgICAv
LyBJbmRpY2F0ZXMgYSBub24tc2FuZGJveGVkIGZpbGVzeXN0ZW0uCi0gICAgICAgIFR5cGVFeHRl
cm5hbCwKLSAgICB9OwotCi0gICAgLy8gTW92ZXMgYSBmaWxlIG9yIGRpcmVjdG9yeSBhdCB8c3Jj
UGF0aHwgdG8gfGRlc3RQYXRofC4KLSAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRT
dWNjZWVkKCkgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBz
dWNjZXNzZnVsbHkuCi0gICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11
c3QgYmUgY2FsbGVkIG90aGVyd2lzZS4KLSAgICB2aXJ0dWFsIHZvaWQgbW92ZShjb25zdCBXZWJV
UkwmIHNyY1BhdGgsIGNvbnN0IFdlYlVSTCYgZGVzdFBhdGgsIFdlYkZpbGVTeXN0ZW1DYWxsYmFj
a3MqKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQotCi0gICAgLy8gQ29waWVzIGEg
ZmlsZSBvciBkaXJlY3RvcnkgYXQgfHNyY1BhdGh8IHRvIHxkZXN0UGF0aHwuCi0gICAgLy8gV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhl
IG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LgotICAgIC8vIFdlYkZpbGVTeXN0
ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBvdGhlcndpc2UuCi0gICAgdmly
dHVhbCB2b2lkIGNvcHkoY29uc3QgV2ViVVJMJiBzcmNQYXRoLCBjb25zdCBXZWJVUkwmIGRlc3RQ
YXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVE
KCk7IH0KLQotICAgIC8vIERlbGV0ZXMgYSBmaWxlIG9yIGRpcmVjdG9yeSBhdCBhIGdpdmVuIHxw
YXRofC4KLSAgICAvLyBJdCBpcyBhbiBlcnJvciB0byB0cnkgdG8gcmVtb3ZlIGEgZGlyZWN0b3J5
IHRoYXQgaXMgbm90IGVtcHR5LgotICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZFN1
Y2NlZWQoKSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVkIHN1
Y2Nlc3NmdWxseS4KLSAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRGYWlsKCkgbXVz
dCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgotICAgIHZpcnR1YWwgdm9pZCByZW1vdmUoY29uc3QgV2Vi
VVJMJiBwYXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRfQVNTRVJUX05PVF9S
RUFDSEVEKCk7IH0KLQotICAgIC8vIERlbGV0ZXMgYSBmaWxlIG9yIGRpcmVjdG9yeSByZWN1cnNp
dmVseSBhdCBhIGdpdmVuIHxwYXRofC4KLSAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpk
aWRTdWNjZWVkKCkgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRl
ZCBzdWNjZXNzZnVsbHkuCi0gICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgp
IG11c3QgYmUgY2FsbGVkIG90aGVyd2lzZS4KLSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlUmVjdXJz
aXZlbHkoY29uc3QgV2ViVVJMJiBwYXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJL
SVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KLQotICAgIC8vIFJldHJpZXZlcyB0aGUgbWV0YWRh
dGEgaW5mb3JtYXRpb24gb2YgdGhlIGZpbGUgb3IgZGlyZWN0b3J5IGF0IHRoZSBnaXZlbiB8cGF0
aHwuCi0gICAgLy8gVGhpcyBtYXkgbm90IGFsd2F5cyByZXR1cm4gdGhlIGxvY2FsIHBsYXRmb3Jt
IHBhdGggaW4gcmVtb3RlIGZpbGVzeXN0ZW0gY2FzZXMuCi0gICAgLy8gV2ViRmlsZVN5c3RlbUNh
bGxiYWNrczo6ZGlkUmVhZE1ldGFkYXRhKCkgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHZhbGlkIG1l
dGFkYXRhIHdoZW4gdGhlIHJldHJpZXZhbCBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LgotICAg
IC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBvdGhl
cndpc2UuCi0gICAgdmlydHVhbCB2b2lkIHJlYWRNZXRhZGF0YShjb25zdCBXZWJVUkwmIHBhdGgs
IFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsg
fQotCi0gICAgLy8gQ3JlYXRlcyBhIGZpbGUgYXQgZ2l2ZW4gfHBhdGh8LgotICAgIC8vIElmIHRo
ZSB8cGF0aHwgZG9lc24ndCBleGlzdCwgaXQgY3JlYXRlcyBhIG5ldyBmaWxlIGF0IHxwYXRofC4K
LSAgICAvLyBJZiB8ZXhjbHVzaXZlfCBpcyB0cnVlLCBpdCBmYWlscyBpZiB0aGUgfHBhdGh8IGFs
cmVhZHkgZXhpc3RzLgotICAgIC8vIElmIHxleGNsdXNpdmV8IGlzIGZhbHNlLCBpdCBzdWNjZWVk
cyBpZiB0aGUgfHBhdGh8IGFscmVhZHkgZXhpc3RzIG9yCi0gICAgLy8gaXQgaGFzIHN1Y2Nlc3Nm
dWxseSBjcmVhdGVkIGEgbmV3IGZpbGUgYXQgfHBhdGh8LgotICAgIC8vCi0gICAgLy8gV2ViRmls
ZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9w
ZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LgotICAgIC8vIFdlYkZpbGVTeXN0ZW1D
YWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBvdGhlcndpc2UuCi0gICAgdmlydHVh
bCB2b2lkIGNyZWF0ZUZpbGUoY29uc3QgV2ViVVJMJiBwYXRoLCBib29sIGV4Y2x1c2l2ZSwgV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9Ci0K
LSAgICAvLyBDcmVhdGVzIGEgZGlyZWN0b3J5IGF0IGEgZ2l2ZW4gfHBhdGh8LgotICAgIC8vIElm
IHRoZSB8cGF0aHwgZG9lc24ndCBleGlzdCwgaXQgY3JlYXRlcyBhIG5ldyBkaXJlY3RvcnkgYXQg
fHBhdGh8LgotICAgIC8vIElmIHxleGNsdXNpdmV8IGlzIHRydWUsIGl0IGZhaWxzIGlmIHRoZSB8
cGF0aHwgYWxyZWFkeSBleGlzdHMuCi0gICAgLy8gSWYgfGV4Y2x1c2l2ZXwgaXMgZmFsc2UsIGl0
IHN1Y2NlZWRzIGlmIHRoZSB8cGF0aHwgYWxyZWFkeSBleGlzdHMgb3IgaXQgaGFzIHN1Y2Nlc3Nm
dWxseSBjcmVhdGVkIGEgbmV3IGRpcmVjdG9yeSBhdCB8cGF0aHwuCi0gICAgLy8KLSAgICAvLyBX
ZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRTdWNjZWVkKCkgbXVzdCBiZSBjYWxsZWQgd2hlbgot
ICAgIC8vIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KLSAgICAvLyBX
ZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNl
LgotICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVEaXJlY3RvcnkoY29uc3QgV2ViVVJMJiBwYXRoLCBi
b29sIGV4Y2x1c2l2ZSwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOyB9Ci0KLSAgICAvLyBDaGVja3MgaWYgYSBmaWxlIGV4aXN0cyBhdCBhIGdp
dmVuIHxwYXRofC4KLSAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRTdWNjZWVkKCkg
bXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVs
bHkuCi0gICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11c3QgYmUgY2Fs
bGVkIG90aGVyd2lzZS4KLSAgICB2aXJ0dWFsIHZvaWQgZmlsZUV4aXN0cyhjb25zdCBXZWJVUkwm
IHBhdGgsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNI
RUQoKTsgfQotCi0gICAgLy8gQ2hlY2tzIGlmIGEgZGlyZWN0b3J5IGV4aXN0cyBhdCBhIGdpdmVu
IHxwYXRofC4KLSAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRTdWNjZWVkKCkgbXVz
dCBiZSBjYWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHku
Ci0gICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11c3QgYmUgY2FsbGVk
IG90aGVyd2lzZS4KLSAgICB2aXJ0dWFsIHZvaWQgZGlyZWN0b3J5RXhpc3RzKGNvbnN0IFdlYlVS
TCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVB
Q0hFRCgpOyB9Ci0KLSAgICAvLyBSZWFkcyBkaXJlY3RvcnkgZW50cmllcyBvZiBhIGdpdmVuIGRp
cmVjdG9yeSBhdCB8cGF0aHwuCi0gICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkUmVh
ZERpcmVjdG9yeSgpIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0
ZWQgc3VjY2Vzc2Z1bGx5LgotICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwo
KSBtdXN0IGJlIGNhbGxlZCBvdGhlcndpc2UuCi0gICAgdmlydHVhbCB2b2lkIHJlYWREaXJlY3Rv
cnkoY29uc3QgV2ViVVJMJiBwYXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRf
QVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KLQotICAgIC8vIENyZWF0ZXMgYSBXZWJGaWxlV3JpdGVy
IHRoYXQgY2FuIGJlIHVzZWQgdG8gd3JpdGUgdG8gdGhlIGdpdmVuIGZpbGUuCi0gICAgLy8gVGhp
cyBpcyBhIGZhc3QsIHN5bmNocm9ub3VzIGNhbGwsIGFuZCBzaG91bGQgbm90IHN0YXQgdGhlIGZp
bGVzeXN0ZW0uCi0gICAgdmlydHVhbCBXZWJGaWxlV3JpdGVyKiBjcmVhdGVGaWxlV3JpdGVyKGNv
bnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVdyaXRlckNsaWVudCopIHsgV0VCS0lUX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOyByZXR1cm4gMDsgfQotCi0gICAgLy8gQ3JlYXRlcyBhIHNuYXBzaG90IGZp
bGUgZm9yIGEgZ2l2ZW4gZmlsZSBzcGVjaWZpZWQgYnkgfHBhdGh8IGFuZCByZWdpc3RlcnMgdGhl
IGZpbGUgd2l0aCB0aGUgfGJsb2JVUkx8LiBJdCByZXR1cm5zIHRoZSBtZXRhZGF0YSBvZiB0aGUg
Y3JlYXRlZCBzbmFwc2hvdCBmaWxlLgotICAgIC8vIFRoZSByZXR1cm5lZCBtZXRhZGF0YSBzaG91
bGQgaW5jbHVkZSBhIGxvY2FsIHBsYXRmb3JtIHBhdGggdG8gdGhlIHNuYXBzaG90IGltYWdlLgot
ICAgIC8vIEluIGxvY2FsIGZpbGVzeXN0ZW0gY2FzZXMgdGhlIGJhY2tlbmQgbWF5IHNpbXBseSBy
ZXR1cm4gdGhlIG1ldGFkYXRhIG9mIHRoZSBmaWxlIGl0c2VsZiAoYXMgd2VsbCBhcyByZWFkTWV0
YWRhdGEgZG9lcyksIHdoaWxlIGluIHJlbW90ZSBmaWxlc3lzdGVtIGNhc2UgdGhlIGJhY2tlbmQg
bWF5IGRvd25sb2FkIHRoZSBmaWxlIGludG8gYSB0ZW1wb3Jhcnkgc25hcHNob3QgZmlsZSBhbmQg
cmV0dXJuIHRoZSBtZXRhZGF0YSBvZiB0aGUgdGVtcG9yYXJ5IGZpbGUuCi0gICAgLy8gVGhlIHJl
dHVybmVkIG1ldGFkYXRhIGlzIHVzZWQgdG8gY3JlYXRlIGEgRmlsZSBvYmplY3QgZm9yIHRoZSB8
cGF0aHwuCi0gICAgLy8gVGhlIHNuYXBzaG90IGZpbGUgaXMgc3VwcG9zZWQgdG8gYmUgZGVsZXRl
ZCB3aGVuIHRoZSBsYXN0IHJlZmVyZW5jZSB0byB0aGUgfGJsb2JVUkx8IGlzIGRyb3BwZWQuCi0g
ICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkUmVhZE1ldGFkYXRhKCkgd2l0aCB0aGUg
bWV0YWRhdGEgb2YgdGhlIHNuYXBzaG90IGZpbGUgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3Bl
cmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCi0gICAgLy8gV2ViRmlsZVN5c3RlbUNh
bGxiYWNrczo6ZGlkRmFpbCgpIG11c3QgYmUgY2FsbGVkIG90aGVyd2lzZS4KLSAgICB2aXJ0dWFs
IHZvaWQgY3JlYXRlU25hcHNob3RGaWxlQW5kUmVhZE1ldGFkYXRhKGNvbnN0IFdlYlVSTCYgYmxv
YlVSTCwgY29uc3QgV2ViVVJMJiBwYXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJL
SVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KLQotcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgfldl
YkZpbGVTeXN0ZW0oKSB7IH0KLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYK
KyNpbmNsdWRlICIuLi8uLi8uLi8uLi9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViRmlsZVN5
c3RlbS5oIgpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2Vi
S2l0UGxhdGZvcm1TdXBwb3J0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvcGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1TdXBwb3J0LmgJKHJldmlzaW9uIDExNjMy
MikKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYktpdFBsYXRm
b3JtU3VwcG9ydC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw2IEBAIGNsYXNzIFdlYkFw
cGxpY2F0aW9uQ2FjaGVIb3N0Q2xpZW50OyAvLwogY2xhc3MgV2ViQmxvYlJlZ2lzdHJ5OwogY2xh
c3MgV2ViQ2xpcGJvYXJkOwogY2xhc3MgV2ViQ29va2llSmFyOwotY2xhc3MgV2ViRmlsZVN5c3Rl
bTsKIGNsYXNzIFdlYkZpbGVVdGlsaXRpZXM7CiBjbGFzcyBXZWJJREJGYWN0b3J5OyAvLyBGSVhN
RTogRG9lcyB0aGlzIGJlbG9uZyBpbiBwbGF0Zm9ybT8KIGNsYXNzIFdlYklEQktleTsgLy8gRklY
TUU6IERvZXMgdGhpcyBiZWxvbmcgaW4gcGxhdGZvcm0/CkBAIC0xNzcsMTEgKzE3Niw2IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgY2FuQWNjZWxlcmF0ZTJkQ2FudmFzKCkgeyByZXR1cm4g
ZmFsc2U7IH0KIAogCi0gICAgLy8gRmlsZVN5c3RlbSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSAgICAvLyBNdXN0IHJldHVybiBu
b24tbnVsbC4KLSAgICB2aXJ0dWFsIFdlYkZpbGVTeXN0ZW0qIGZpbGVTeXN0ZW0oKSB7IHJldHVy
biAwOyB9Ci0KICAgICAvLyBXZWJXb3JrZXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiAgICAgdmlydHVhbCB2b2lkIGRpZFN0YXJ0
V29ya2VyUnVuTG9vcChjb25zdCBXZWJXb3JrZXJSdW5Mb29wJikgeyB9CkluZGV4OiBTb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAkocmV2
aXNpb24gMTE2MzIyKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hp
bmdFbnVtcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwMCwxMSArMTAwLDExIEBACiAjaW5jbHVk
ZSAiV2ViVGV4dENoZWNraW5nVHlwZS5oIgogI2luY2x1ZGUgIldlYlZpZXcuaCIKICNpbmNsdWRl
ICJwbGF0Zm9ybS9XZWJDbGlwYm9hcmQuaCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9XZWJGaWxlU3lz
dGVtLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViSUNFT3B0aW9ucy5oIgogI2luY2x1ZGUgInBs
YXRmb3JtL1dlYk1lZGlhU3RyZWFtU291cmNlLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViUGVl
ckNvbm5lY3Rpb24wMEhhbmRsZXIuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJQZWVyQ29ubmVj
dGlvbjAwSGFuZGxlckNsaWVudC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtLmg+
CiAjaW5jbHVkZSA8cHVibGljL1dlYkZpbHRlck9wZXJhdGlvbi5oPgogI2luY2x1ZGUgPHB1Ymxp
Yy9XZWJSZWZlcnJlclBvbGljeS5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CkluZGV4
OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXN5bmNGaWxlU3lzdGVt
Q2hyb21pdW0uY3BwCShyZXZpc2lvbiAxMTYzMjIpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDgg
KzQyLDggQEAKICNpbmNsdWRlICJXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbC5oIgogI2luY2x1
ZGUgIldlYkZpbGVXcml0ZXIuaCIKICNpbmNsdWRlICJXZWJLaXQuaCIKLSNpbmNsdWRlICJwbGF0
Zm9ybS9XZWJGaWxlU3lzdGVtLmgiCi0jaW5jbHVkZSAicGxhdGZvcm0vV2ViS2l0UGxhdGZvcm1T
dXBwb3J0LmgiCisjaW5jbHVkZSA8cHVibGljL1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8cHVibGlj
L1dlYkZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCkBAIC0xMzEsNyArMTMxLDcgQEAgYm9vbCBB
c3luY0ZpbGVTeXN0ZW06OmlzVmFsaWRUeXBlKEZpbGVTeQogCiBBc3luY0ZpbGVTeXN0ZW1DaHJv
bWl1bTo6QXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0oRmlsZVN5c3RlbVR5cGUgdHlwZSwgY29uc3Qg
S1VSTCYgcm9vdFVSTCkKICAgICA6IEFzeW5jRmlsZVN5c3RlbSh0eXBlKQotICAgICwgbV93ZWJG
aWxlU3lzdGVtKFdlYktpdDo6d2ViS2l0UGxhdGZvcm1TdXBwb3J0KCktPmZpbGVTeXN0ZW0oKSkK
KyAgICAsIG1fd2ViRmlsZVN5c3RlbShXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmZpbGVT
eXN0ZW0oKSkKICAgICAsIG1fZmlsZXN5c3RlbVJvb3RVUkwocm9vdFVSTCkKIHsKICAgICBBU1NF
UlQobV93ZWJGaWxlU3lzdGVtKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xv
Y2FsRmlsZVN5c3RlbUNocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9Mb2NhbEZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAJKHJldmlzaW9uIDExNjMyMikK
KysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0xvY2FsRmlsZVN5c3RlbUNocm9taXVtLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDEsNyArNDEsNiBAQAogI2luY2x1ZGUgIkZpbGVTeXN0ZW1U
eXBlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJXZWJGaWxlRXJy
b3IuaCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiV2Vi
RmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwuaCIKICNpbmNsdWRlICJXZWJGcmFtZUNsaWVudC5oIgog
I2luY2x1ZGUgIldlYkZyYW1lSW1wbC5oIgpAQCAtNTEsNiArNTAsNyBAQAogI2luY2x1ZGUgIldv
cmtlckNvbnRleHQuaCIKICNpbmNsdWRlICJXb3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdl
LmgiCiAjaW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYkZpbGVT
eXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBX
ZWJLaXQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGaWxlU3lzdGVtQ2Fs
bGJhY2tzSW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwuY3BwCShyZXZpc2lvbiAxMTYzMjIpCisrKyBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM3LDEwICszNywxMCBAQAogI2luY2x1ZGUgIkZpbGVNZXRhZGF0YS5o
IgogI2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJXZWJGaWxl
SW5mby5oIgotI2luY2x1ZGUgInBsYXRmb3JtL1dlYkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJX
ZWJGaWxlU3lzdGVtRW50cnkuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJTdHJpbmcuaCIKICNp
bmNsdWRlICJXb3JrZXJBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5oIgorI2luY2x1ZGUgPHB1Ymxp
Yy9XZWJGaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZpbGVT
eXN0ZW1DYWxsYmFja3NJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwuaAkocmV2aXNpb24gMTE2MzIyKQorKysg
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRmlsZVN5c3RlbUNhbGxiYWNrc0ltcGwuaAko
d29ya2luZyBjb3B5KQpAQCAtMzMsOCArMzMsOCBAQAogCiAjaW5jbHVkZSAiRmlsZVN5c3RlbVR5
cGUuaCIKICNpbmNsdWRlICJXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzLmgiCi0jaW5jbHVkZSAicGxh
dGZvcm0vV2ViRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlZlY3Rvci5oIgor
I2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAkocmV2aXNpb24gMTE2MzIyKQorKysgU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTc4LDcgKzE3OCw3IEBACiAjaW5jbHVkZSAiVjhEaXJlY3RvcnlFbnRyeS5oIgogI2luY2x1ZGUg
IlY4RE9NRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIlY4RmlsZUVudHJ5LmgiCi0jaW5jbHVkZSAi
cGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVt
Lmg+CiAjZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBsLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViV29ya2VyQ2xpZW50SW1wbC5oCShyZXZpc2lvbiAx
MTYzMjIpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJXb3JrZXJDbGllbnRJbXBs
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM5LDggKzM5LDggQEAKICNpbmNsdWRlICJXb3JrZXJNZXNz
YWdpbmdQcm94eS5oIgogI2luY2x1ZGUgIldvcmtlck9iamVjdFByb3h5LmgiCiAKLSNpbmNsdWRl
ICJwbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiV2ViV29ya2VyQmFzZS5oIgor
I2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL093blB0ci5o
PgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgpJ
bmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hy
b21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtl
ckFzeW5jRmlsZVN5c3RlbUNocm9taXVtLmNwcAkocmV2aXNpb24gMTE2MzIyKQorKysgU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV29ya2VyQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw2IEBACiAjaW5jbHVkZSAiRmlsZU1ldGFkYXRhLmgi
CiAjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0j
aW5jbHVkZSAicGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oIgogI2luY2x1ZGUgIldlYkZpbGVTeXN0
ZW1DYWxsYmFja3NJbXBsLmgiCiAjaW5jbHVkZSAiV2ViRmlsZVdyaXRlci5oIgogI2luY2x1ZGUg
IldlYktpdC5oIgpAQCAtNDksNiArNDgsNyBAQAogI2luY2x1ZGUgIldvcmtlckZpbGVTeXN0ZW1D
YWxsYmFja3NCcmlkZ2UuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiV29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSA8cHVibGljL1dlYkZpbGVTeXN0ZW0u
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJL
aXQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJBc3luY0ZpbGVXcml0
ZXJDaHJvbWl1bS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V29ya2VyQXN5bmNGaWxlV3JpdGVyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiAxMTYzMjIpCisrKyBT
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJBc3luY0ZpbGVXcml0ZXJDaHJvbWl1bS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM2LDcgKzM2LDYgQEAKICNpbmNsdWRlICJBc3luY0ZpbGVT
eXN0ZW0uaCIKICNpbmNsdWRlICJCbG9iLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oIgotI2luY2x1ZGUgInBsYXRmb3JtL1dlYkZpbGVTeXN0ZW0uaCIKICNpbmNsdWRlICJX
ZWJGaWxlV3JpdGVyLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViVVJMLmgiCiAjaW5jbHVkZSAi
V2ViV29ya2VyQmFzZS5oIgpAQCAtNDQsNiArNDMsNyBAQAogI2luY2x1ZGUgIldvcmtlckZpbGVX
cml0ZXJDYWxsYmFja3NCcmlkZ2UuaCIKICNpbmNsdWRlICJXb3JrZXJMb2FkZXJQcm94eS5oIgog
I2luY2x1ZGUgIldvcmtlclRocmVhZC5oIgorI2luY2x1ZGUgPHB1YmxpYy9XZWJGaWxlU3lzdGVt
Lmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYktp
dDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxs
YmFja3NCcmlkZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
b3JrZXJGaWxlU3lzdGVtQ2FsbGJhY2tzQnJpZGdlLmgJKHJldmlzaW9uIDExNjMyMikKKysrIFNv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dvcmtlckZpbGVTeXN0ZW1DYWxsYmFja3NCcmlkZ2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtMzYsOCArMzYsOCBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3Ry
aW5nLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIldl
YkZpbGVFcnJvci5oIgotI2luY2x1ZGUgInBsYXRmb3JtL1dlYkZpbGVTeXN0ZW0uaCIKICNpbmNs
dWRlICJwbGF0Zm9ybS9XZWJWZWN0b3IuaCIKKyNpbmNsdWRlIDxwdWJsaWMvV2ViRmlsZVN5c3Rl
bS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CkluZGV4OiBTb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9Xb3JrZXJGaWxlV3JpdGVyQ2FsbGJhY2tzQnJpZGdlLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Xb3JrZXJGaWxlV3JpdGVyQ2FsbGJhY2tz
QnJpZGdlLmNwcAkocmV2aXNpb24gMTE2MzIyKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV29ya2VyRmlsZVdyaXRlckNhbGxiYWNrc0JyaWRnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM2LDE0ICszNiwxNCBAQAogI2luY2x1ZGUgIkFzeW5jRmlsZVdyaXRlckNsaWVudC5oIgogI2lu
Y2x1ZGUgIkNyb3NzVGhyZWFkVGFzay5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYkNTdHJpbmcu
aCIKLSNpbmNsdWRlICJwbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmgiCiAjaW5jbHVkZSAiV2ViRmls
ZVdyaXRlci5oIgogI2luY2x1ZGUgIldlYktpdC5oIgotI2luY2x1ZGUgInBsYXRmb3JtL1dlYktp
dFBsYXRmb3JtU3VwcG9ydC5oIgogI2luY2x1ZGUgIldlYldvcmtlckJhc2UuaCIKICNpbmNsdWRl
ICJXb3JrZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiV29ya2VyTG9hZGVyUHJveHkuaCIKICNpbmNs
dWRlICJXb3JrZXJUaHJlYWQuaCIKKyNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KKyNpbmNs
dWRlIDxwdWJsaWMvV2ViRmlsZVN5c3RlbS5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCkBAIC0xMDQsNyArMTA0LDcgQEAgdm9pZCBX
b3JrZXJGaWxlV3JpdGVyQ2FsbGJhY2tzQnJpZGdlOjphYgogdm9pZCBXb3JrZXJGaWxlV3JpdGVy
Q2FsbGJhY2tzQnJpZGdlOjppbml0T25NYWluVGhyZWFkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
LCBQYXNzUmVmUHRyPFdvcmtlckZpbGVXcml0ZXJDYWxsYmFja3NCcmlkZ2U+IGJyaWRnZSwgY29u
c3QgS1VSTCYgcGF0aCkKIHsKICAgICBBU1NFUlQoIWJyaWRnZS0+bV93cml0ZXIpOwotICAgIGJy
aWRnZS0+bV93cml0ZXIgPSBhZG9wdFB0cih3ZWJLaXRQbGF0Zm9ybVN1cHBvcnQoKS0+ZmlsZVN5
c3RlbSgpLT5jcmVhdGVGaWxlV3JpdGVyKHBhdGgsIGJyaWRnZS5nZXQoKSkpOworICAgIGJyaWRn
ZS0+bV93cml0ZXIgPSBhZG9wdFB0cihXZWJLaXQ6OlBsYXRmb3JtOjpjdXJyZW50KCktPmZpbGVT
eXN0ZW0oKS0+Y3JlYXRlRmlsZVdyaXRlcihwYXRoLCBicmlkZ2UuZ2V0KCkpKTsKIH0KIAogdm9p
ZCBXb3JrZXJGaWxlV3JpdGVyQ2FsbGJhY2tzQnJpZGdlOjpzaHV0ZG93bk9uTWFpblRocmVhZChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxXb3JrZXJGaWxlV3JpdGVyQ2FsbGJh
Y2tzQnJpZGdlPiBicmlkZ2UpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>