<?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>199132</bug_id>
          
          <creation_ts>2019-06-22 17:36:08 -0700</creation_ts>
          <short_desc>Add OverflowScrollProxyNodes to the scrolling tree</short_desc>
          <delta_ts>2019-07-02 20:42:17 -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>Scrolling</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=199432</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>199133</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1547143</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-06-22 17:36:08 -0700</bug_when>
    <thetext>Add OverflowScrollProxyNodes to the scrolling tree</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547144</commentid>
    <comment_count>1</comment_count>
      <attachid>372692</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-06-22 17:42:22 -0700</bug_when>
    <thetext>Created attachment 372692
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547145</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-06-22 17:43:03 -0700</bug_when>
    <thetext>&lt;rdar://problem/52024717&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547146</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-06-22 17:43:29 -0700</bug_when>
    <thetext>Attachment 372692 did not pass style-queue:


ERROR: Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h:58:  Inline functions should not be in classes annotated with WEBCORE_EXPORT. Remove the macro from the class and apply it to each appropriate method, or move the inline function definition out-of-line.  [build/webcore_export] [4]
Total errors found: 1 in 31 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547196</commentid>
    <comment_count>4</comment_count>
      <attachid>372692</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-23 12:34:51 -0700</bug_when>
    <thetext>Comment on attachment 372692
Patch

Clearing flags on attachment: 372692

Committed r246723: &lt;https://trac.webkit.org/changeset/246723&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1547197</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-06-23 12:34:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372692</attachid>
            <date>2019-06-22 17:42:22 -0700</date>
            <delta_ts>2019-06-23 12:34:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199132-20190622174220.patch</filename>
            <type>text/plain</type>
            <size>62064</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDcwY2MxYWUwYTU2NTZmYzg0MmQ4YjMz
NWU1MDIwZmFlN2Q0MmU3OWIuLmVjZWUyMjdmYTcwMTg3NDRlMWMxMWQ5MGE4YWFlYWMwZjQxMjgy
MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTktMDYtMjIgIFNpbW9uIEZyYXNlciAgPHNpbW9u
LmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIE92ZXJmbG93U2Nyb2xsUHJveHlOb2Rl
cyB0byB0aGUgc2Nyb2xsaW5nIHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5OTEzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorICAgICAgICAKKyAgICAgICAgU2V0dGluZyBpbmRlbnQgaXMgdXNlZnVsIGlmIHlvdSB3
YW50IHRvIG1ha2UgYSBuZXcgc3RyZWFtIHdpdGggdGhlIGluZGVudCBvZiBhbgorICAgICAgICBl
eGlzdGluZyBzdHJlYW0uCisKKyAgICAgICAgKiB3dGYvdGV4dC9UZXh0U3RyZWFtLmg6CisgICAg
ICAgIChXVEY6OlRleHRTdHJlYW06OnNldEluZGVudCk6CisKIDIwMTktMDYtMjAgIEZ1amlpIEhp
cm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgVHJ5IHRvIHVzZSBD
KysxNCBzdGQ6OmVuYWJsZV9pZl90IGluIENoZWNrZWRBcml0aG1ldGljLmggYWdhaW4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCA1ZmMwYzIzMjE4MGI3YzJmMGUzYTg4MzZmOWVjNTE5Mjc4NjgyZjg0Li42Zjg3OTcw
NTBiYmYyYjY5MjczNTJjMjM2ODIwZDYyM2QzZGFiYjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
NzEgQEAKKzIwMTktMDYtMjIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIE92ZXJmbG93U2Nyb2xsUHJveHlOb2RlcyB0byB0aGUgc2Nyb2xsaW5n
IHRyZWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
OTEzMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlIGFuZCBTY3JvbGxpbmdUcmVl
T3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUuIFRoZXNlCisgICAgICAgIG5vZGVzIHJlcHJlc2VudCBj
bGlwIGFuZCBzY3JvbGwgcG9zaXRpb24gZm9yIGFuIG92ZXJmbG93OnNjcm9sbCBpbiB0aGUgY29u
dGFpbmluZyBibG9jayBjaGFpbiwKKyAgICAgICAgYnV0IG5vdCB0aGUgcGFpbnQgYW5jZXN0b3Ig
Y2hhaW4gb2YgYSBsYXllci4gVGhleSB3aWxsIGJlIHVzZWQgdG8gY29ycmVjdGx5IG1hbmlwdWxh
dGUgY2xpcAorICAgICAgICByZWN0cyBmb3IgY29tcG9zaXRlZCBsYXllcnMgaW4gbm9uLXN0YWNr
aW5nLWNvbnRleHQgc2Nyb2xsZXJzLCBhbmQgaW4gYSBmdXR1cmUgcGF0Y2ggd2lsbAorICAgICAg
ICByZXBsYWNlIHRoZSBmdW5jdGlvbmFsaXR5IG9mICJNb3ZlcyIgcG9zaXRpb25lZCBub2Rlcy4K
KworICAgICAgICBBbiBPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZSBoYXMgdGhlIFNjcm9sbGluZ05v
ZGVJRCBvZiB0aGUgc2Nyb2xsaW5nIG5vZGUgdGhhdCBpdCByZWxhdGVzIHRvLAorICAgICAgICBh
bmQgd2UgdXNlIHRoZSBleGlzdGluZyAicmVsYXRlZCBvdmVyZmxvdyBub2RlcyIgdG8gY3JlYXRl
IHRoZSBiYWNrIHJlZmVyZW5jZXMgaW4gdGhlIHNjcm9sbGluZyB0cmVlLgorCisgICAgICAgIFRo
ZXNlIG5vZGVzIGFyZSBub3QgaW5zdGFudGlhdGVkIHlldDsgYSBmdXR1cmUgcGF0Y2ggd2lsbCBo
b29rIHRoZW0gdXAuCisKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBTb3VyY2Vz
Q29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNldFJlbGF0ZWRP
dmVyZmxvd1Njcm9sbGluZ05vZGVzKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdDb29yZGluYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpvcGVyYXRvcjw8KToKKyAgICAg
ICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvclR5cGVzLmg6CisgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JvbGxpbmdTdGF0ZU5vZGU6OmlzT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUgY29uc3QpOgor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxQcm94
eU5vZGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlT3ZlcmZs
b3dTY3JvbGxQcm94eU5vZGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdT
dGF0ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlOjpTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xs
UHJveHlOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3Jv
bGxQcm94eU5vZGU6OmNsb25lKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlT3Zl
cmZsb3dTY3JvbGxQcm94eU5vZGU6OnNldE92ZXJmbG93U2Nyb2xsaW5nTm9kZSk6CisgICAgICAg
IChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlOjpkdW1wUHJv
cGVydGllcyBjb25zdCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVP
dmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5jcHAuCisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlOjpvdmVy
Zmxvd1Njcm9sbGluZ05vZGUgY29uc3QpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcDoKKyAgICAgICAgKiBwYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5n
U3RhdGVUcmVlOjpjcmVhdGVOb2RlKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxp
bmdUcmVlTm9kZS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU5vZGU6OmlzT3Zl
cmZsb3dTY3JvbGxQcm94eU5vZGUgY29uc3QpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlOjpT
Y3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlOjpjb21taXRTdGF0ZUJlZm9yZUNo
aWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFBy
b3h5Tm9kZTo6YXBwbHlMYXllclBvc2l0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGU6OmR1bXBQcm9wZXJ0aWVzIGNvbnN0KToKKyAg
ICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5v
ZGUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
U3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuY3BwLgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcv
Y29jb2EvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlLmg6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVPdmVyZmxvd1Nj
cm9sbFByb3h5Tm9kZTo6b3ZlcmZsb3dTY3JvbGxpbmdOb2RlSUQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlOjpsYXllciBjb25z
dCk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvY29jb2EvU2Nyb2xsaW5nVHJlZU92ZXJmbG93
U2Nyb2xsUHJveHlOb2RlLm1tOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1Ry
ZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZTo6U2Nyb2xsaW5nVHJlZU92ZXJmbG93
U2Nyb2xsUHJveHlOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVPdmVyZmxv
d1Njcm9sbFByb3h5Tm9kZTo6Y29tbWl0U3RhdGVCZWZvcmVDaGlsZHJlbik6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGU6OnNjcm9sbERlbHRh
U2luY2VMYXN0Q29tbWl0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVP
dmVyZmxvd1Njcm9sbFByb3h5Tm9kZTo6YXBwbHlMYXllclBvc2l0aW9ucyk6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGU6OmR1bXBQcm9wZXJ0
aWVzIGNvbnN0KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9jb2NvYS9TY3JvbGxpbmdUcmVl
UG9zaXRpb25lZE5vZGUubW06CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW06CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcv
bWFjL1Njcm9sbGluZ1RyZWVNYWMuY3BwOgorICAgICAgICAoU2Nyb2xsaW5nVHJlZU1hYzo6Y3Jl
YXRlU2Nyb2xsaW5nVHJlZU5vZGUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3Jv
bGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6cmVwb3NpdGlvblNjcm9sbGlu
Z0xheWVycyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpzY3JvbGxDb29yZGluYXRpb25Sb2xlRm9yTm9kZVR5cGUpOgor
CiAyMDE5LTA2LTIyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
W0xGQ11bSUZDXSBUaGUgYW5vbnltb3VzIElubGluZUJveCB3cmFwcGVyIGZvciB0aGUgdGV4dCBu
b2RlIHNob3VsZCB0YWtlIHRoZSBwYXJlbnQgc3R5bGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDFiY2UzZjkxMzY5
OWFhZTFjNTUyNzVmZDQwNTQ4MmM4NjA0YmZiMDEuLjc5MjQ4MTZjNWI2YWJiMzdmYjhkOTc3MDBj
ZjUxMWQ0YWZiM2VmY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTktMDYtMjIgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIE92ZXJm
bG93U2Nyb2xsUHJveHlOb2RlcyB0byB0aGUgc2Nyb2xsaW5nIHRyZWUKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTEzMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBTY3JvbGxpbmdTdGF0ZU92ZXJm
bG93U2Nyb2xsUHJveHlOb2RlIGFuZCBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5v
ZGUuIFRoZXNlCisgICAgICAgIG5vZGVzIHJlcHJlc2VudCBjbGlwIGFuZCBzY3JvbGwgcG9zaXRp
b24gZm9yIGFuIG92ZXJmbG93OnNjcm9sbCBpbiB0aGUgY29udGFpbmluZyBibG9jayBjaGFpbiwK
KyAgICAgICAgYnV0IG5vdCB0aGUgcGFpbnQgYW5jZXN0b3IgY2hhaW4gb2YgYSBsYXllci4gVGhl
eSB3aWxsIGJlIHVzZWQgdG8gY29ycmVjdGx5IG1hbmlwdWxhdGUgY2xpcAorICAgICAgICByZWN0
cyBmb3IgY29tcG9zaXRlZCBsYXllcnMgaW4gbm9uLXN0YWNraW5nLWNvbnRleHQgc2Nyb2xsZXJz
LCBhbmQgaW4gYSBmdXR1cmUgcGF0Y2ggd2lsbAorICAgICAgICByZXBsYWNlIHRoZSBmdW5jdGlv
bmFsaXR5IG9mICJNb3ZlcyIgcG9zaXRpb25lZCBub2Rlcy4KKworICAgICAgICBBbiBPdmVyZmxv
d1Njcm9sbFByb3h5Tm9kZSBoYXMgdGhlIFNjcm9sbGluZ05vZGVJRCBvZiB0aGUgc2Nyb2xsaW5n
IG5vZGUgdGhhdCBpdCByZWxhdGVzIHRvLAorICAgICAgICBhbmQgd2UgdXNlIHRoZSBleGlzdGlu
ZyAicmVsYXRlZCBvdmVyZmxvdyBub2RlcyIgdG8gY3JlYXRlIHRoZSBiYWNrIHJlZmVyZW5jZXMg
aW4gdGhlIHNjcm9sbGluZyB0cmVlLgorCisgICAgICAgIFRoZXNlIG5vZGVzIGFyZSBub3QgaW5z
dGFudGlhdGVkIHlldDsgYSBmdXR1cmUgcGF0Y2ggd2lsbCBob29rIHRoZW0gdXAuCisKKyAgICAg
ICAgKiBTaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJh
bnNhY3Rpb24uY3BwOgorICAgICAgICAoQXJndW1lbnRDb2RlcjxTY3JvbGxpbmdTdGF0ZU92ZXJm
bG93U2Nyb2xsUHJveHlOb2RlPjo6ZW5jb2RlKToKKyAgICAgICAgKEFyZ3VtZW50Q29kZXI8U2Ny
b2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZT46OmRlY29kZSk6CisgICAgICAgIChX
ZWJLaXQ6OmVuY29kZU5vZGVBbmREZXNjZW5kYW50cyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb246OmRlY29kZSk6CisgICAgICAgIChXZWJL
aXQ6OmR1bXApOgorICAgICAgICAqIFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Ny
b2xsaW5nQ29vcmRpbmF0b3JQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVNjcm9s
bGluZ0Nvb3JkaW5hdG9yUHJveHk6OmNvbm5lY3RTdGF0ZU5vZGVMYXllcnMpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nVHJlZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OlJlbW90ZVNjcm9sbGluZ1RyZWU6OmNyZWF0ZVNjcm9sbGluZ1RyZWVOb2Rl
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1vdGVTY3JvbGxp
bmdDb29yZGluYXRvclByb3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTY3JvbGxp
bmdDb29yZGluYXRvclByb3h5Ojpjb25uZWN0U3RhdGVOb2RlTGF5ZXJzKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURl
bGVnYXRlSU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpTY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9k
ZURlbGVnYXRlSU9TOjpyZXBvc2l0aW9uU2Nyb2xsaW5nTGF5ZXJzKToKKwogMjAxOS0wNi0yMSAg
Smlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQs
IGEgYnVpbGQgZml4IGFmdGVyIHIyNDY3MDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3Rl
eHQvVGV4dFN0cmVhbS5oIGIvU291cmNlL1dURi93dGYvdGV4dC9UZXh0U3RyZWFtLmgKaW5kZXgg
NGZjMGIyNDUxYTVlYmU2ZWUzODZjZmE5MGZjNWJkOThmNDAwMTU0ZC4uMGNjMTRjZmI2YmUyMTIy
MzA0YmQ3YTg2ZmMyOGU5NWI2NDk2YTFhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4
dC9UZXh0U3RyZWFtLmgKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9UZXh0U3RyZWFtLmgKQEAg
LTk1LDYgKzk1LDcgQEAgcHVibGljOgogICAgIFdURl9FWFBPUlRfUFJJVkFURSB2b2lkIG5leHRM
aW5lKCk7IC8vIE91dHB1dCBuZXdsaW5lIGFuZCBpbmRlbnQuCiAKICAgICBpbnQgaW5kZW50KCkg
Y29uc3QgeyByZXR1cm4gbV9pbmRlbnQ7IH0KKyAgICB2b2lkIHNldEluZGVudChpbnQgaW5kZW50
KSB7IG1faW5kZW50ID0gaW5kZW50OyB9CiAgICAgdm9pZCBpbmNyZWFzZUluZGVudChpbnQgYW1v
dW50ID0gMSkgeyBtX2luZGVudCArPSBhbW91bnQ7IH0KICAgICB2b2lkIGRlY3JlYXNlSW5kZW50
KGludCBhbW91bnQgPSAxKSB7IG1faW5kZW50IC09IGFtb3VudDsgQVNTRVJUKG1faW5kZW50ID49
IDApOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMDdiM2JkYzY0MWM0ZTBlNmYzNmVmYjBlYTQ1Y2Y2
MmM0MDJmYTE4Yy4uMjFjNmI3MzE3YzQ2NWI2YmJjYzUyZmRmN2NhMTU5ODhhY2U3YjNiZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKQEAgLTE2MDMsNiArMTYwMyw3IEBAIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1N0YXRlRnJhbWVIb3N0aW5nTm9kZS5jcHAKIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRl
RnJhbWVTY3JvbGxpbmdOb2RlLmNwcAogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2Rl
LmNwcAogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUu
Y3BwCitwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2Rl
LmNwcAogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVQb3NpdGlvbmVkTm9kZS5jcHAKIHBh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZS5jcHAKIHBhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0Cmlu
ZGV4IGU4MGE1M2RhNzIxNzY3YjNlMDE4M2Q2ZjhlMDcwMjc0NDk5ZGQ2YjYuLjdiMWU1NzVlYWIx
MmQ4MTU1ZDQ2ZmVlMTRiMTUxMzgxZTM5NTkwMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXNDb2NvYS50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApA
QCAtMTQ4LDYgKzE0OCw3IEBAIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ01vbWVudHVtQ2FsY3Vs
YXRvci5jcHAKIAogcGFnZS9zY3JvbGxpbmcvY29jb2EvU2Nyb2xsaW5nU3RhdGVOb2RlLm1tCiBw
YWdlL3Njcm9sbGluZy9jb2NvYS9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tCitwYWdlL3Njcm9s
bGluZy9jb2NvYS9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUubW0KIHBhZ2Uv
c2Nyb2xsaW5nL2NvY29hL1Njcm9sbGluZ1RyZWVQb3NpdGlvbmVkTm9kZS5tbQogcGFnZS9zY3Jv
bGxpbmcvY29jb2EvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUubW0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDA3M2IwNjgwNmFj
Zjg4OWE5YzhmYjc0MWZkYTZlYjIyYjk5ZTJlZDYuLmRhMjg4NzAzYmE3NDY3ODhlMGEyMjlhZjUw
ZGI1YTNlNzE2Mjc0YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTMyNCw2ICszMjQsNyBAQAogCQkwRjU4MEZBMzE0OTY5Mzkx
MDBGQjVCRDggLyogV2ViVGlsZWRCYWNraW5nTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTgwRkExMTQ5NjkzOTEwMEZCNUJEOCAvKiBXZWJU
aWxlZEJhY2tpbmdMYXllci5oICovOyB9OwogCQkwRjU4MEZBRjE0OTgwMEQ0MDBGQjVCRDggLyog
QW5pbWF0aW9uVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwRjU4MEZBRTE0OTgwMEQ0MDBGQjVCRDggLyogQW5pbWF0aW9uVXRpbGl0aWVz
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEY1
QjdBNTUxMEY2NUQ3QTAwMzc2MzAyIC8qIFJlbmRlckVtYmVkZGVkT2JqZWN0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjVCN0E1MzEwRjY1RDdBMDAz
NzYzMDIgLyogUmVuZGVyRW1iZWRkZWRPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRjVEQThCMTIyQjg1NjM5MDBDMjY2RkEgLyogU2Ny
b2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY5QjU0NzUyMkI0QTc3MjAwN0I1RThBIC8qIFNj
cm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjVFMjAwNjE4RTc3MUZDMDAzRUMzRTUg
LyogUGxhdGZvcm1DQUFuaW1hdGlvbkNvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAwRjVFMjAwNTE4RTc3MUZDMDAzRUMzRTUgLyogUGxhdGZvcm1D
QUFuaW1hdGlvbkNvY29hLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJMEY2MDVBRUQxNUY5NDg0ODAwNERGMEMwIC8qIFNjcm9sbGluZ0NvbnN0cmFp
bnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjYw
NUFFQjE1Rjk0ODQ4MDA0REYwQzAgLyogU2Nyb2xsaW5nQ29uc3RyYWludHMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRjYwRjMyQjFERkJCMTA3
MDA0MTZENkMgLyogQ29tbW9uVk0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNjBGMzJBMURGQkIxMDQwMDQxNkQ2QyAvKiBDb21tb25WTS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zNDMsNiArMzQ0
LDcgQEAKIAkJMEZBMjREN0ExNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJVcGRhdGVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkEyNEQ3
ODE2MkRGOTE5MDBBM0Y0QzAgLyogR3JhcGhpY3NMYXllclVwZGF0ZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkI2MjUyRjE4REUxQjE1MDBB
MDdDMDUgLyogR2VvbWV0cnlVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjYyNTJEMThERTFCMTUwMEEwN0MwNSAvKiBHZW9tZXRyeVV0
aWxpdGllcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTBGQjg4OTBGMTY3RDMwMTYwMDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGQjg4OTBE
MTY3RDMwMTYwMDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwRkM0QjAwNjIyQjlBMDJE
MDBDRjNCMUUgLyogU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkM0QjAwNDIyQjlBMDJD
MDBDRjNCMUUgLyogU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEZDRjMzMkYwRjJC
OUEyNTAwNEI2Nzk1IC8qIFdlYkxheWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAwRkNGMzMyQjBGMkI5QTI1MDA0QjY3OTUgLyogV2ViTGF5ZXIuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwRkQzMDgw
RjExN0NGN0U3MDBBNzkxRjcgLyogUmVuZGVyRnJhbWVCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkQzMDgwRDExN0NGN0U3MDBBNzkxRjcgLyog
UmVuZGVyRnJhbWVCYXNlLmggKi87IH07CiAJCTBGRDMwOEQ2MTE3RDE2ODUwMEE3OTFGNyAvKiBS
ZW5kZXJJRnJhbWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDBGRDMwOEQ0MTE3RDE2ODQwMEE3OTFGNyAvKiBSZW5kZXJJRnJhbWUuaCAqLzsgfTsKQEAg
LTU3NDUsNiArNTc0Nyw4IEBACiAJCTBGOTRCNjUzMjIwOTE1NkMwMDE1NzAxNCAvKiBTY3JvbGxp
bmdUcmVlUG9zaXRpb25lZE5vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsaW5nVHJlZVBvc2l0
aW9uZWROb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGOTRCNjU0MjIwOTE1
NkMwMDE1NzAxNCAvKiBTY3JvbGxpbmdUcmVlUG9zaXRpb25lZE5vZGUubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBTY3JvbGxpbmdUcmVlUG9zaXRpb25lZE5vZGUubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTBGOTdBNjU3MTU1REE4MUUwMEZBREQ0QyAvKiBEaXNwbGF5UmVmcmVz
aE1vbml0b3JJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBE
aXNwbGF5UmVmcmVzaE1vbml0b3JJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTBGOUI1NDc1MjJCNEE3NzIwMDdCNUU4QSAvKiBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xs
UHJveHlOb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxQ
cm94eU5vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMEY5QjU0NzYyMkI0QTc3
MzAwN0I1RThBIC8qIFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGOURBQTBDMUZEMUM2NjMwMDc5QzVC
MiAvKiBET01HQ091dHB1dENvbnN0cmFpbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRE9NR0NPdXRwdXRDb25zdHJhaW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMEY5REFBMEUxRkQxQzY2NDAwNzlDNUIyIC8qIERPTUdDT3V0cHV0Q29uc3Ry
YWludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01HQ091dHB1dENvbnN0
cmFpbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZBMDg1MkIxRTZGQjU1QTAw
OTc1RkREIC8qIENTU1Byb3BlcnRpZXMuanNvbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuanNvbjsgcGF0aCA9IENTU1Byb3BlcnRpZXMuanNv
bjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU3NTYsNiArNTc2MCw4IEBACiAJCTBG
Qjg4OTBEMTY3RDMwMTYwMDEwQ0RBNSAvKiBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQzA1MTY4MjE5QjVFQkUwMDMxQzM5RSAv
KiBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlTWFjLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZDMDUxNkEyMTlCNUVCRTAwMzFDMzlFIC8qIFNjcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2Nyb2xs
aW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRkM0QjAwNDIyQjlBMDJDMDBDRjNCMUUgLyogU2Nyb2xsaW5nVHJlZU92ZXJmbG93
U2Nyb2xsUHJveHlOb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkwRkM0QjAwNTIyQjlBMDJEMDBDRjNCMUUgLyogU2Nyb2xsaW5nVHJlZU92ZXJmbG93
U2Nyb2xsUHJveHlOb2RlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkwRkNGMzMyMzBGMkI5NzE1MDA0QjY3OTUgLyogQ29sb3JDRy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb2xvckNHLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEZDRjMzMkEwRjJCOUEyNTAwNEI2Nzk1IC8qIFdlYkxh
eWVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViTGF5ZXIu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQ0YzMzJCMEYyQjlBMjUwMDRCNjc5
NSAvKiBXZWJMYXllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJMYXll
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTY5MTIsNiArMTY5MTgsOCBAQAog
CQkJCTkzMUNCRDA3MTYxQTQ0RTkwMEU0Qzg3NCAvKiBTY3JvbGxpbmdTdGF0ZU5vZGUuaCAqLywK
IAkJCQkwRkVBM0U4MTE5MUIzMUJGMDAwRjFCNTUgLyogU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Nj
cm9sbGluZ05vZGUuY3BwICovLAogCQkJCTBGRUEzRTgyMTkxQjMxQkYwMDBGMUI1NSAvKiBTY3Jv
bGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5oICovLAorCQkJCTBGOUI1NDc2MjJCNEE3
NzMwMDdCNUU4QSAvKiBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlLmNwcCAq
LywKKwkJCQkwRjlCNTQ3NTIyQjRBNzcyMDA3QjVFOEEgLyogU2Nyb2xsaW5nU3RhdGVPdmVyZmxv
d1Njcm9sbFByb3h5Tm9kZS5oICovLAogCQkJCTBGOTRCNjRGMjIwOTE0RkUwMDE1NzAxNCAvKiBT
Y3JvbGxpbmdTdGF0ZVBvc2l0aW9uZWROb2RlLmNwcCAqLywKIAkJCQkwRjk0QjY1MTIyMDkxNEZG
MDAxNTcwMTQgLyogU2Nyb2xsaW5nU3RhdGVQb3NpdGlvbmVkTm9kZS5oICovLAogCQkJCTkzMUNC
RDA4MTYxQTQ0RTkwMEU0Qzg3NCAvKiBTY3JvbGxpbmdTdGF0ZVNjcm9sbGluZ05vZGUuY3BwICov
LApAQCAtMjE3MDYsNiArMjE3MTQsOCBAQAogCQkJCTkzRUY3RDU0MTk1NEU5OEYwMERGQjcxRCAv
KiBTY3JvbGxpbmdTdGF0ZU5vZGUubW0gKi8sCiAJCQkJMEY5NEI2NDIyMjA4RjcwMTAwMTU3MDE0
IC8qIFNjcm9sbGluZ1RyZWVGaXhlZE5vZGUuaCAqLywKIAkJCQkwRjk0QjY0NDIyMDhGNzAyMDAx
NTcwMTQgLyogU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbSAqLywKKwkJCQkwRkM0QjAwNDIyQjlB
MDJDMDBDRjNCMUUgLyogU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlLmggKi8s
CisJCQkJMEZDNEIwMDUyMkI5QTAyRDAwQ0YzQjFFIC8qIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Nj
cm9sbFByb3h5Tm9kZS5tbSAqLywKIAkJCQkwRjk0QjY1MzIyMDkxNTZDMDAxNTcwMTQgLyogU2Ny
b2xsaW5nVHJlZVBvc2l0aW9uZWROb2RlLmggKi8sCiAJCQkJMEY5NEI2NTQyMjA5MTU2QzAwMTU3
MDE0IC8qIFNjcm9sbGluZ1RyZWVQb3NpdGlvbmVkTm9kZS5tbSAqLywKIAkJCQkwRjk0QjY0MzIy
MDhGNzAyMDAxNTcwMTQgLyogU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaCAqLywKQEAgLTMxMzgz
LDYgKzMxMzkzLDcgQEAKIAkJCQkwRkVBM0U3QjE5MUIyRkM1MDAwRjFCNTUgLyogU2Nyb2xsaW5n
U3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMUNCRDBEMTYx
QTQ0RTkwMEU0Qzg3NCAvKiBTY3JvbGxpbmdTdGF0ZU5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBGRUEzRTg0MTkxQjMxQkYwMDBGMUI1NSAvKiBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xs
aW5nTm9kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY1REE4QjEyMkI4NTYzOTAwQzI2NkZBIC8q
IFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBGOTRCNjUyMjIwOTE1MDYwMDE1NzAxNCAvKiBTY3JvbGxpbmdTdGF0ZVBvc2l0aW9uZWRO
b2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzFDQkQwRjE2MUE0NEU5MDBFNEM4NzQgLyogU2Ny
b2xsaW5nU3RhdGVTY3JvbGxpbmdOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkI4ODkwRjE2
N0QzMDE2MDAxMENEQTUgLyogU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlLmggaW4gSGVhZGVycyAq
LywKQEAgLTMxMzk3LDYgKzMxNDA4LDcgQEAKIAkJCQkxQUFBRERFNDE0REM4QzhGMDBBRjY0QjMg
LyogU2Nyb2xsaW5nVHJlZU5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGRUEzRTgwMTkxQjMx
NjkwMDBGMUI1NSAvKiBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwRjczQjc2OTIyMkIzQTBDMDA4MDUzMTYgLyogU2Nyb2xsaW5nVHJlZU92
ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEZDNEIwMDYyMkI5
QTAyRDAwQ0YzQjFFIC8qIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEY5NEI2NTUyMjA5MzFFNDAwMTU3MDE0IC8qIFNjcm9sbGluZ1Ry
ZWVQb3NpdGlvbmVkTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM5MUE5OUQxNjI5RDcwMDAw
Mjk3MzMwIC8qIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBNkQ1QTk5RDE2MjlENzAwMDAyOTczMzAgLyogU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05vZGVE
ZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCmluZGV4IGVmMDY1
ZTM3NGEzYzAyNmFjYmZhNzhlNTc0YmMyYTBkMWNlMTM3YzQuLjAwOTNhYmFkMDk2ZWZkMDQzZjRj
MjM4YzAzNjFlNTQ4NGZkZjI4YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCkBAIC00Miw2ICs0
Miw3IEBACiAjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGUuaCIKICNpbmNsdWRlICJT
Y3JvbGxpbmdTdGF0ZUZyYW1lSG9zdGluZ05vZGUuaCIKICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0
ZUZyYW1lU2Nyb2xsaW5nTm9kZS5oIgorI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dT
Y3JvbGxQcm94eU5vZGUuaCIKICNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xs
aW5nTm9kZS5oIgogI2luY2x1ZGUgIlNjcm9sbGluZ1N0YXRlUG9zaXRpb25lZE5vZGUuaCIKICNp
bmNsdWRlICJTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGUuaCIKQEAgLTcxMCw5ICs3MTEsMTQgQEAg
dm9pZCBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRSZWxhdGVkT3ZlcmZsb3dTY3JvbGxp
bmdOb2RlcyhTY3JvbGxpbmdOb2RlSUQKICAgICBpZiAoIW5vZGUpCiAgICAgICAgIHJldHVybjsK
IAotICAgIEFTU0VSVChpczxTY3JvbGxpbmdTdGF0ZVBvc2l0aW9uZWROb2RlPigqbm9kZSkpOwot
ICAgIGlmIChhdXRvKiBwb3NpdGlvbmVkTm9kZSA9IGRvd25jYXN0PFNjcm9sbGluZ1N0YXRlUG9z
aXRpb25lZE5vZGU+KG5vZGUpKQotICAgICAgICBwb3NpdGlvbmVkTm9kZS0+c2V0UmVsYXRlZE92
ZXJmbG93U2Nyb2xsaW5nTm9kZXMoV1RGTW92ZShyZWxhdGVkTm9kZXMpKTsKKyAgICBpZiAoaXM8
U2Nyb2xsaW5nU3RhdGVQb3NpdGlvbmVkTm9kZT4obm9kZSkpCisgICAgICAgIGRvd25jYXN0PFNj
cm9sbGluZ1N0YXRlUG9zaXRpb25lZE5vZGU+KG5vZGUpLT5zZXRSZWxhdGVkT3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlcyhXVEZNb3ZlKHJlbGF0ZWROb2RlcykpOworICAgIGVsc2UgaWYgKGlzPFNjcm9s
bGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGU+KG5vZGUpKSB7CisgICAgICAgIGF1dG8q
IG92ZXJmbG93U2Nyb2xsUHJveHlOb2RlID0gZG93bmNhc3Q8U2Nyb2xsaW5nU3RhdGVPdmVyZmxv
d1Njcm9sbFByb3h5Tm9kZT4obm9kZSk7CisgICAgICAgIEFTU0VSVChyZWxhdGVkTm9kZXMuc2l6
ZSgpID09IDEpOworICAgICAgICBvdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS0+c2V0T3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlKHJlbGF0ZWROb2Rlc1swXSk7CisgICAgfSBlbHNlCisgICAgICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogfQogCiB2b2lkIEFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNl
dFN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29ucyhGcmFtZVZpZXcmIGZyYW1lVmlldywgU3luY2hy
b25vdXNTY3JvbGxpbmdSZWFzb25zIHJlYXNvbnMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKaW5kZXggOTI5MGI4YjQ3
NWNhOTRjZDY1MTJkNGJlZWViMjkxNzBjNzY5MGVmOS4uYTg3ODE1ZWYwNWI2OTMzNTZhNWQ1MjRl
OGY0MDc5YTYwMGJkMTkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtNDY0LDYgKzQ2NCw5IEBAIFRleHRT
dHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIFNjcm9sbGluZ05vZGVUeXBlIG5vZGVU
eXBlKQogICAgIGNhc2UgU2Nyb2xsaW5nTm9kZVR5cGU6Ok92ZXJmbG93OgogICAgICAgICB0cyA8
PCAib3ZlcmZsb3ctc2Nyb2xsaW5nIjsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTY3JvbGxp
bmdOb2RlVHlwZTo6T3ZlcmZsb3dQcm94eToKKyAgICAgICAgdHMgPDwgIm92ZXJmbG93LXNjcm9s
bC1wcm94eSI7CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2Nyb2xsaW5nTm9kZVR5cGU6OkZp
eGVkOgogICAgICAgICB0cyA8PCAiZml4ZWQiOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yVHlwZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yVHlw
ZXMuaAppbmRleCAwYjk1ZTczNjJmNGNmNjBlZTg1ZTU3OWVlMGJiMWY5YjYyNjMzNzYzLi42OTRl
ZmRlNjdlZTQyODUyMzA4OGY5ZmUwOGVhMDQwNzk2NDc4ODQ1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvclR5cGVzLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JUeXBlcy5o
CkBAIC0zNiw5ICszNiwxMCBAQCBlbnVtIGNsYXNzIFNjcm9sbGluZ05vZGVUeXBlIDogdWludDhf
dCB7CiAgICAgU3ViZnJhbWUsCiAgICAgRnJhbWVIb3N0aW5nLAogICAgIE92ZXJmbG93LAorICAg
IE92ZXJmbG93UHJveHksCiAgICAgRml4ZWQsCiAgICAgU3RpY2t5LAotICAgIFBvc2l0aW9uZWQs
CisgICAgUG9zaXRpb25lZAogfTsKIAogZW51bSBTY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRCZWhh
dmlvckZsYWdzIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1N0YXRlTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVOb2RlLmgKaW5kZXggMGY4N2VhMTlhZGFiMjZkZTc5YWNkNTcxY2FiZDA4ZmE4MGMx
YTJmZi4uZDUwMTM1MDEyMGExYjEyOGQ5MTAzNGU1YTc1OWFmMzMxYjA0ZGQ0NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmgKQEAg
LTE5NSw2ICsxOTUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0ZyYW1lU2Nyb2xsaW5nTm9kZSgp
IGNvbnN0IHsgcmV0dXJuIG1fbm9kZVR5cGUgPT0gU2Nyb2xsaW5nTm9kZVR5cGU6Ok1haW5GcmFt
ZSB8fCBtX25vZGVUeXBlID09IFNjcm9sbGluZ05vZGVUeXBlOjpTdWJmcmFtZTsgfQogICAgIGJv
b2wgaXNGcmFtZUhvc3RpbmdOb2RlKCkgY29uc3QgeyByZXR1cm4gbV9ub2RlVHlwZSA9PSBTY3Jv
bGxpbmdOb2RlVHlwZTo6RnJhbWVIb3N0aW5nOyB9CiAgICAgYm9vbCBpc092ZXJmbG93U2Nyb2xs
aW5nTm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fbm9kZVR5cGUgPT0gU2Nyb2xsaW5nTm9kZVR5cGU6
Ok92ZXJmbG93OyB9CisgICAgYm9vbCBpc092ZXJmbG93U2Nyb2xsUHJveHlOb2RlKCkgY29uc3Qg
eyByZXR1cm4gbV9ub2RlVHlwZSA9PSBTY3JvbGxpbmdOb2RlVHlwZTo6T3ZlcmZsb3dQcm94eTsg
fQogCiAgICAgdmlydHVhbCBSZWY8U2Nyb2xsaW5nU3RhdGVOb2RlPiBjbG9uZShTY3JvbGxpbmdT
dGF0ZVRyZWUmIGFkb3B0aXZlVHJlZSkgPSAwOwogICAgIFJlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+
IGNsb25lQW5kUmVzZXQoU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRyZWUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxv
d1Njcm9sbFByb3h5Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMmNlMjA1
ZGM0Nzg1MzNmMzY2Mzc4ZmUzN2U2MjZjNGMxMzg1MGQwCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFBy
b3h5Tm9kZS5jcHAKQEAgLTAsMCArMSw4NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlLmgi
CisKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQorCisjaW5jbHVkZSAiU2Nyb2xsaW5nU3Rh
dGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuaCIKKyNpbmNsdWRlICJTY3JvbGxpbmdTdGF0ZVRyZWUu
aCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9UZXh0U3RyZWFtLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworUmVmPFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGU+IFNjcm9sbGlu
Z1N0YXRlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGU6OmNyZWF0ZShTY3JvbGxpbmdTdGF0ZVRyZWUm
IHN0YXRlVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKK3sKKyAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlKHN0YXRlVHJlZSwg
bm9kZUlEKSk7Cit9CisKK1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGU6OlNj
cm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUoU2Nyb2xsaW5nU3RhdGVUcmVlJiBz
dGF0ZVRyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCisgICAgOiBTY3JvbGxpbmdTdGF0ZU5v
ZGUoU2Nyb2xsaW5nTm9kZVR5cGU6Ok92ZXJmbG93UHJveHksIHN0YXRlVHJlZSwgbm9kZUlEKQor
eworfQorCitTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlOjpTY3JvbGxpbmdT
dGF0ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlKGNvbnN0IFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dT
Y3JvbGxQcm94eU5vZGUmIHN0YXRlTm9kZSwgU2Nyb2xsaW5nU3RhdGVUcmVlJiBhZG9wdGl2ZVRy
ZWUpCisgICAgOiBTY3JvbGxpbmdTdGF0ZU5vZGUoc3RhdGVOb2RlLCBhZG9wdGl2ZVRyZWUpCisg
ICAgLCBtX292ZXJmbG93U2Nyb2xsaW5nTm9kZUlEKHN0YXRlTm9kZS5vdmVyZmxvd1Njcm9sbGlu
Z05vZGUoKSkKK3sKK30KKworU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZTo6
flNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUoKSA9IGRlZmF1bHQ7CisKK1Jl
ZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxQcm94eU5v
ZGU6OmNsb25lKFNjcm9sbGluZ1N0YXRlVHJlZSYgYWRvcHRpdmVUcmVlKQoreworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUoKnRo
aXMsIGFkb3B0aXZlVHJlZSkpOworfQorCit2b2lkIFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3Jv
bGxQcm94eU5vZGU6OnNldE92ZXJmbG93U2Nyb2xsaW5nTm9kZShTY3JvbGxpbmdOb2RlSUQgbm9k
ZUlEKQoreworICAgIGlmIChub2RlSUQgPT0gbV9vdmVyZmxvd1Njcm9sbGluZ05vZGVJRCkKKyAg
ICAgICAgcmV0dXJuOworICAgIAorICAgIG1fb3ZlcmZsb3dTY3JvbGxpbmdOb2RlSUQgPSBub2Rl
SUQ7CisgICAgc2V0UHJvcGVydHlDaGFuZ2VkKE92ZXJmbG93U2Nyb2xsaW5nTm9kZSk7Cit9CisK
K3ZvaWQgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZTo6ZHVtcFByb3BlcnRp
ZXMoVGV4dFN0cmVhbSYgdHMsIFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9yIGJlaGF2
aW9yKSBjb25zdAoreworICAgIHRzIDw8ICJPdmVyZmxvdyBzY3JvbGwgcHJveHkgbm9kZSI7Cisg
ICAgCisgICAgU2Nyb2xsaW5nU3RhdGVOb2RlOjpkdW1wUHJvcGVydGllcyh0cywgYmVoYXZpb3Ip
OworCisgICAgaWYgKGF1dG8qIHJlbGF0ZWRPdmVyZmxvd05vZGUgPSBzY3JvbGxpbmdTdGF0ZVRy
ZWUoKS5zdGF0ZU5vZGVGb3JJRChtX292ZXJmbG93U2Nyb2xsaW5nTm9kZUlEKSkgeworICAgICAg
ICBhdXRvIHNjcm9sbFBvc2l0aW9uID0gZG93bmNhc3Q8U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Nj
cm9sbGluZ05vZGU+KCpyZWxhdGVkT3ZlcmZsb3dOb2RlKS5zY3JvbGxQb3NpdGlvbigpOworICAg
ICAgICB0cy5kdW1wUHJvcGVydHkoInJlbGF0ZWQgb3ZlcmZsb3cgc2Nyb2xsaW5nIG5vZGUgc2Ny
b2xsIHBvc2l0aW9uIiwgc2Nyb2xsUG9zaXRpb24pOworICAgIH0KKworICAgIGlmIChiZWhhdmlv
ciAmIFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9ySW5jbHVkZU5vZGVJRHMpCisgICAg
ICAgIHRzLmR1bXBQcm9wZXJ0eSgib3ZlcmZsb3cgc2Nyb2xsaW5nIG5vZGUiLCBvdmVyZmxvd1Nj
cm9sbGluZ05vZGUoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsUHJv
eHlOb2RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uM2MxZDdiNzlkYTcxNTg1MTgyMWNkMTYxYzE1MGQ3NmZhOTJi
N2YyYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUuaApAQCAtMCwwICsxLDYzIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQor
CisjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVOb2RlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZSA6IHB1YmxpYyBT
Y3JvbGxpbmdTdGF0ZU5vZGUgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8U2Nyb2xsaW5nU3Rh
dGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZT4gY3JlYXRlKFNjcm9sbGluZ1N0YXRlVHJlZSYsIFNj
cm9sbGluZ05vZGVJRCk7CisKKyAgICBSZWY8U2Nyb2xsaW5nU3RhdGVOb2RlPiBjbG9uZShTY3Jv
bGxpbmdTdGF0ZVRyZWUmKSBvdmVycmlkZTsKKworICAgIHZpcnR1YWwgflNjcm9sbGluZ1N0YXRl
T3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUoKTsKKworICAgIGVudW0geworICAgICAgICBPdmVyZmxv
d1Njcm9sbGluZ05vZGUgPSBOdW1TdGF0ZU5vZGVCaXRzCisgICAgfTsKKworICAgIC8vIFRoaXMg
aXMgdGhlIG5vZGUgd2UgZ2V0IG91ciBzY3JvbGwgcG9zaXRpb24gZnJvbS4KKyAgICBTY3JvbGxp
bmdOb2RlSUQgb3ZlcmZsb3dTY3JvbGxpbmdOb2RlKCkgY29uc3QgeyByZXR1cm4gbV9vdmVyZmxv
d1Njcm9sbGluZ05vZGVJRDsgfQorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0T3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlKFNjcm9sbGluZ05vZGVJRCk7CisKKyAgICB2b2lkIGR1bXBQcm9wZXJ0aWVz
KFdURjo6VGV4dFN0cmVhbSYsIFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9yKSBjb25z
dCBvdmVycmlkZTsKKworcHJpdmF0ZToKKyAgICBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xs
UHJveHlOb2RlKFNjcm9sbGluZ1N0YXRlVHJlZSYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAgU2Ny
b2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZShjb25zdCBTY3JvbGxpbmdTdGF0ZU92
ZXJmbG93U2Nyb2xsUHJveHlOb2RlJiwgU2Nyb2xsaW5nU3RhdGVUcmVlJik7CisgICAgCisgICAg
U2Nyb2xsaW5nTm9kZUlEIG1fb3ZlcmZsb3dTY3JvbGxpbmdOb2RlSUQgeyAwIH07Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfU0NST0xMSU5H
X1NUQVRFX05PREUoU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZSwgaXNPdmVy
Zmxvd1Njcm9sbFByb3h5Tm9kZSgpKQorCisjZW5kaWYgLy8gRU5BQkxFKEFTWU5DX1NDUk9MTElO
RykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0
YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmNwcAppbmRleCBlNmFhNjNh
MGQxNTQwNzE1ZjZjNGE3NzU4YTU0ZWE4NGNmYjc0ZmYyLi4zN2NjNmZhMzQ1Y2ViM2ViN2UyMGIx
Njg2YWJjNGNkYTVjODE1MjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9s
bGluZy9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05v
ZGUuY3BwCkBAIC01NCw3ICs1NCw3IEBAIFJlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9sbGlu
Z1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjpjbG9uZShTY3JvbGxpbmdTdGF0CiB7CiAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUo
KnRoaXMsIGFkb3B0aXZlVHJlZSkpOwogfQotICAgIAorCiB2b2lkIFNjcm9sbGluZ1N0YXRlT3Zl
cmZsb3dTY3JvbGxpbmdOb2RlOjpkdW1wUHJvcGVydGllcyhUZXh0U3RyZWFtJiB0cywgU2Nyb2xs
aW5nU3RhdGVUcmVlQXNUZXh0QmVoYXZpb3IgYmVoYXZpb3IpIGNvbnN0CiB7CiAgICAgdHMgPDwg
Ik92ZXJmbG93IHNjcm9sbGluZyBub2RlIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwCmluZGV4IGYyNmNkZWQ3ZWE5NDMzZGYy
YTkyMTg1MDFlODFiNjhhMzA0ZmUyMmMuLjhhOTZiY2JhZjFlZjg2OGYxNjk3ZjI0YTY0ZmRmY2Yw
OTkzMDljMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ1N0YXRlVHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nU3RhdGVUcmVlLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlNjcm9sbGlu
Z1N0YXRlRml4ZWROb2RlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVGcmFtZUhvc3RpbmdO
b2RlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGUuaCIKKyNp
bmNsdWRlICJTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlLmgiCiAjaW5jbHVk
ZSAiU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUuaCIKICNpbmNsdWRlICJTY3Jv
bGxpbmdTdGF0ZVBvc2l0aW9uZWROb2RlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nU3RhdGVTdGlj
a3lOb2RlLmgiCkBAIC03Miw2ICs3Myw4IEBAIFJlZjxTY3JvbGxpbmdTdGF0ZU5vZGU+IFNjcm9s
bGluZ1N0YXRlVHJlZTo6Y3JlYXRlTm9kZShTY3JvbGxpbmdOb2RlVHlwZSBub2RlVHlwCiAgICAg
ICAgIHJldHVybiBTY3JvbGxpbmdTdGF0ZUZyYW1lSG9zdGluZ05vZGU6OmNyZWF0ZSgqdGhpcywg
bm9kZUlEKTsKICAgICBjYXNlIFNjcm9sbGluZ05vZGVUeXBlOjpPdmVyZmxvdzoKICAgICAgICAg
cmV0dXJuIFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOjpjcmVhdGUoKnRoaXMs
IG5vZGVJRCk7CisgICAgY2FzZSBTY3JvbGxpbmdOb2RlVHlwZTo6T3ZlcmZsb3dQcm94eToKKyAg
ICAgICAgcmV0dXJuIFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGU6OmNyZWF0
ZSgqdGhpcywgbm9kZUlEKTsKICAgICBjYXNlIFNjcm9sbGluZ05vZGVUeXBlOjpGaXhlZDoKICAg
ICAgICAgcmV0dXJuIFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlOjpjcmVhdGUoKnRoaXMsIG5vZGVJ
RCk7CiAgICAgY2FzZSBTY3JvbGxpbmdOb2RlVHlwZTo6U3RpY2t5OgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVOb2RlLmgKaW5kZXggM2IxYjc0OTQ1
MmVjOGNhYWQzNzIxYjc2Y2FjOGNhMmIyMGU1ZjcwOC4uODdiZmM1MWEwZWNlMDFlMTNjMjE2YWZj
YWJiMGI0MWNhMGViYTkxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9TY3JvbGxpbmdUcmVlTm9kZS5oCkBAIC01Niw2ICs1Niw3IEBAIHB1YmxpYzoKICAgICBib29s
IGlzRnJhbWVTY3JvbGxpbmdOb2RlKCkgY29uc3QgeyByZXR1cm4gbm9kZVR5cGUoKSA9PSBTY3Jv
bGxpbmdOb2RlVHlwZTo6TWFpbkZyYW1lIHx8IG5vZGVUeXBlKCkgPT0gU2Nyb2xsaW5nTm9kZVR5
cGU6OlN1YmZyYW1lOyB9CiAgICAgYm9vbCBpc0ZyYW1lSG9zdGluZ05vZGUoKSBjb25zdCB7IHJl
dHVybiBub2RlVHlwZSgpID09IFNjcm9sbGluZ05vZGVUeXBlOjpGcmFtZUhvc3Rpbmc7IH0KICAg
ICBib29sIGlzT3ZlcmZsb3dTY3JvbGxpbmdOb2RlKCkgY29uc3QgeyByZXR1cm4gbm9kZVR5cGUo
KSA9PSBTY3JvbGxpbmdOb2RlVHlwZTo6T3ZlcmZsb3c7IH0KKyAgICBib29sIGlzT3ZlcmZsb3dT
Y3JvbGxQcm94eU5vZGUoKSBjb25zdCB7IHJldHVybiBub2RlVHlwZSgpID09IFNjcm9sbGluZ05v
ZGVUeXBlOjpPdmVyZmxvd1Byb3h5OyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgY29tbWl0U3RhdGVC
ZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0ZU5vZGUmKSA9IDA7CiAgICAgdmlydHVh
bCB2b2lkIGNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0ZU5vZGUm
KSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGlu
Z1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmEwMzY1NjE2ZDdlNDM4OWMyNDAxMjI5ZjU1MzZiODg0NThkN2NkMTgKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlT3ZlcmZs
b3dTY3JvbGxQcm94eU5vZGUuY3BwCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJv
eHlOb2RlLmgiCisKKyNpZiBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQorCisjaW5jbHVkZSAiU2Ny
b2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5oIgorI2luY2x1ZGUgIlNjcm9sbGlu
Z1N0YXRlVHJlZS5oIgorI2luY2x1ZGUgIlNjcm9sbGluZ1RyZWUuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitSZWY8U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlPiBTY3Jv
bGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGU6OmNyZWF0ZShTY3JvbGxpbmdUcmVlJiBz
Y3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQoreworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZShzY3JvbGxpbmdU
cmVlLCBub2RlSUQpKTsKK30KKworU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2Rl
OjpTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUoU2Nyb2xsaW5nVHJlZSYgc2Ny
b2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKKyAgICA6IFNjcm9sbGluZ1RyZWVO
b2RlKHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVUeXBlOjpPdmVyZmxvd1Byb3h5LCBub2Rl
SUQpCit7Cit9CisKK1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZTo6flNjcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZSgpID0gZGVmYXVsdDsKKwordm9pZCBTY3Jv
bGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGU6OmNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRy
ZW4oY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJiBzdGF0ZU5vZGUpCit7CisgICAgY29uc3QgU2Ny
b2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZSYgb3ZlcmZsb3dQcm94eVN0YXRlTm9k
ZSA9IGRvd25jYXN0PFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGU+KHN0YXRl
Tm9kZSk7CisKKyAgICBpZiAob3ZlcmZsb3dQcm94eVN0YXRlTm9kZS5oYXNDaGFuZ2VkUHJvcGVy
dHkoU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZTo6T3ZlcmZsb3dTY3JvbGxp
bmdOb2RlKSkKKyAgICAgICAgbV9vdmVyZmxvd1Njcm9sbGluZ05vZGUgPSBvdmVyZmxvd1Byb3h5
U3RhdGVOb2RlLm92ZXJmbG93U2Nyb2xsaW5nTm9kZSgpOworfQorCit2b2lkIFNjcm9sbGluZ1Ry
ZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZTo6YXBwbHlMYXllclBvc2l0aW9ucygpCit7CisgICAg
U2Nyb2xsT2Zmc2V0IHNjcm9sbE9mZnNldDsKKyAgICBpZiAoYXV0byogbm9kZSA9IHNjcm9sbGlu
Z1RyZWUoKS5ub2RlRm9ySUQobV9vdmVyZmxvd1Njcm9sbGluZ05vZGUpKSB7CisgICAgICAgIGlm
IChpczxTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlPihub2RlKSkgeworICAgICAg
ICAgICAgYXV0byYgb3ZlcmZsb3dOb2RlID0gZG93bmNhc3Q8U2Nyb2xsaW5nVHJlZU92ZXJmbG93
U2Nyb2xsaW5nTm9kZT4oKm5vZGUpOworICAgICAgICAgICAgc2Nyb2xsT2Zmc2V0ID0gb3ZlcmZs
b3dOb2RlLmN1cnJlbnRTY3JvbGxPZmZzZXQoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIExP
R19XSVRIX1NUUkVBTShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiU2Nyb2xsaW5nVHJlZU92ZXJmbG93
U2Nyb2xsUHJveHlOb2RlICIgPDwgc2Nyb2xsaW5nTm9kZUlEKCkgPDwgIiBhcHBseUxheWVyUG9z
aXRpb25zOiBzZXR0aW5nIGJvdW5uZHMgb3JpZ2luIHRvICIgPDwgc2Nyb2xsT2Zmc2V0KTsKKyAg
ICBbbV9sYXllciBfd2ViX3NldExheWVyQm91bmRzT3JpZ2luOnNjcm9sbE9mZnNldF07Cit9CisK
K3ZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlOjpkdW1wUHJvcGVydGll
cyhUZXh0U3RyZWFtJiB0cywgU2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0QmVoYXZpb3IgYmVoYXZp
b3IpIGNvbnN0Cit7CisgICAgdHMgPDwgIm92ZXJmbG93IHNjcm9sbCBwcm94eSBub2RlIjsKKyAg
ICBTY3JvbGxpbmdUcmVlTm9kZTo6ZHVtcFByb3BlcnRpZXModHMsIGJlaGF2aW9yKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFTWU5DX1NDUk9MTElO
RykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmVm
MmY0YTk5ODA0MTBhYTE5Y2E5ZTVkNWM1YzZjMTJjOTI0ZmIwZQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9s
bFByb3h5Tm9kZS5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIEVOQUJMRShBU1lOQ19TQ1JPTExJTkcpCisKKyNpbmNsdWRlICJTY3JvbGxpbmdUcmVl
Tm9kZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNjcm9sbGluZ1RyZWVPdmVy
Zmxvd1Njcm9sbFByb3h5Tm9kZSA6IHB1YmxpYyBTY3JvbGxpbmdUcmVlTm9kZSB7CitwdWJsaWM6
CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIFJlZjxTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3Jv
bGxQcm94eU5vZGU+IGNyZWF0ZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCB2aXJ0dWFsIH5TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94
eU5vZGUoKTsKKworcHJvdGVjdGVkOgorICAgIFdFQkNPUkVfRVhQT1JUIFNjcm9sbGluZ1RyZWVP
dmVyZmxvd1Njcm9sbFByb3h5Tm9kZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsK
KyAgICAKKyAgICB2b2lkIGNvbW1pdFN0YXRlQmVmb3JlQ2hpbGRyZW4oY29uc3QgU2Nyb2xsaW5n
U3RhdGVOb2RlJikgb3ZlcnJpZGU7CisgICAgdm9pZCBhcHBseUxheWVyUG9zaXRpb25zKCkgb3Zl
cnJpZGU7CisKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGR1bXBQcm9wZXJ0aWVzKFRleHRTdHJl
YW0mLCBTY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHRCZWhhdmlvcikgY29uc3Qgb3ZlcnJpZGU7CisK
KyAgICBTY3JvbGxpbmdOb2RlSUQgbV9vdmVyZmxvd1Njcm9sbGluZ05vZGU7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfU0NST0xMSU5HX05P
REUoU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlLCBpc092ZXJmbG93U2Nyb2xs
aW5nTm9kZSgpKQorCisjZW5kaWYgLy8gRU5BQkxFKEFTWU5DX1NDUk9MTElORykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdO
b2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlU2Nyb2xs
aW5nTm9kZS5oCmluZGV4IGI0MzQwMjg4ZDA2ZDI4NjQ5MDFhYzI1N2E0MzAwYmRmZGU2MWMxZTEu
LmIyMmZmYTc5MjI1YTkyOWNiMDY5YTY3MzBmMWJlZDc5MThkMzI0MDkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZVNjcm9sbGlu
Z05vZGUuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkludFJlY3QuaCIKICNpbmNsdWRl
ICJTY3JvbGxTbmFwT2Zmc2V0c0luZm8uaCIKICNpbmNsdWRlICJTY3JvbGxUeXBlcy5oIgorI2lu
Y2x1ZGUgIlNjcm9sbGFibGVBcmVhLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3Iu
aCIKICNpbmNsdWRlICJTY3JvbGxpbmdUcmVlTm9kZS5oIgogCkBAIC01NCw2ICs1NSw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIFNjcm9sbGluZ0V2ZW50UmVzdWx0IGhhbmRsZVdoZWVsRXZlbnQo
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50Jik7CiAKICAgICBGbG9hdFBvaW50IGN1cnJlbnRTY3Jv
bGxQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudFNjcm9sbFBvc2l0aW9uOyB9Cisg
ICAgRmxvYXRQb2ludCBjdXJyZW50U2Nyb2xsT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gU2Nyb2xs
YWJsZUFyZWE6OnNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihtX2N1cnJlbnRTY3JvbGxQb3NpdGlv
biwgdG9GbG9hdFNpemUobV9zY3JvbGxPcmlnaW4pKTsgfQogICAgIEZsb2F0UG9pbnQgbGFzdENv
bW1pdHRlZFNjcm9sbFBvc2l0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0Q29tbWl0dGVkU2Ny
b2xsUG9zaXRpb247IH0KICAgICBGbG9hdFNpemUgc2Nyb2xsRGVsdGFTaW5jZUxhc3RDb21taXQo
KSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRTY3JvbGxQb3NpdGlvbiAtIG1fbGFzdENvbW1pdHRl
ZFNjcm9sbFBvc2l0aW9uOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL2NvY29hL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29jb2EvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Ny
b2xsUHJveHlOb2RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGM3MTJjNmVkZGMzYzg1ZmRjNDNlYzExZThmYTlj
MWRhNzM0NDc0NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL2NvY29hL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5oCkBAIC0wLDAg
KzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBU1lOQ19T
Q1JPTExJTkcpCisKKyNpbmNsdWRlICJTY3JvbGxpbmdUcmVlTm9kZS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZSA6
IHB1YmxpYyBTY3JvbGxpbmdUcmVlTm9kZSB7CitwdWJsaWM6CisgICAgV0VCQ09SRV9FWFBPUlQg
c3RhdGljIFJlZjxTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGU+IGNyZWF0ZShT
Y3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5nTm9kZUlEKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2aXJ0
dWFsIH5TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUoKTsKKworICAgIFNjcm9s
bGluZ05vZGVJRCBvdmVyZmxvd1Njcm9sbGluZ05vZGVJRCgpIGNvbnN0IHsgcmV0dXJuIG1fb3Zl
cmZsb3dTY3JvbGxpbmdOb2RlSUQ7IH0KKworICAgIENBTGF5ZXIgKmxheWVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9sYXllci5nZXQoKTsgfQorCisgICAgRmxvYXRTaXplIHNjcm9sbERlbHRhU2luY2VM
YXN0Q29tbWl0KCkgY29uc3Q7CisKK3Byb3RlY3RlZDoKKyAgICBXRUJDT1JFX0VYUE9SVCBTY3Jv
bGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGlu
Z05vZGVJRCk7CisgICAgCisgICAgdm9pZCBjb21taXRTdGF0ZUJlZm9yZUNoaWxkcmVuKGNvbnN0
IFNjcm9sbGluZ1N0YXRlTm9kZSYpIG92ZXJyaWRlOworICAgIHZvaWQgYXBwbHlMYXllclBvc2l0
aW9ucygpIG92ZXJyaWRlOworCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBkdW1wUHJvcGVydGll
cyhUZXh0U3RyZWFtJiwgU2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0QmVoYXZpb3IpIGNvbnN0IG92
ZXJyaWRlOworCisgICAgU2Nyb2xsaW5nTm9kZUlEIG1fb3ZlcmZsb3dTY3JvbGxpbmdOb2RlSUQ7
CisgICAgUmV0YWluUHRyPENBTGF5ZXI+IG1fbGF5ZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfU0NST0xMSU5HX05PREUoU2Nyb2xsaW5n
VHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlLCBpc092ZXJmbG93U2Nyb2xsUHJveHlOb2RlKCkp
CisKKyNlbmRpZiAvLyBFTkFCTEUoQVNZTkNfU0NST0xMSU5HKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29jb2EvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xs
UHJveHlOb2RlLm1tIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY29jb2EvU2Nyb2xs
aW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlLm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUxMWU3MmE2ODcx
MTVjZGZjMzdhODg3MTU4MzM5NGI5ZTZmMjk5NzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb2NvYS9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQ
cm94eU5vZGUubW0KQEAgLTAsMCArMSwxMDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25m
aWcuaCIKKyNpbXBvcnQgIlNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5oIgor
CisjaWYgRU5BQkxFKEFTWU5DX1NDUk9MTElORykKKworI2ltcG9ydCAiU2Nyb2xsaW5nU3RhdGVP
dmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5oIgorI2ltcG9ydCAiU2Nyb2xsaW5nU3RhdGVUcmVlLmgi
CisjaW1wb3J0ICJTY3JvbGxpbmdUcmVlLmgiCisjaW1wb3J0ICJXZWJDb3JlQ0FMYXllckV4dHJh
cy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxTY3JvbGxpbmdUcmVlT3ZlcmZsb3dT
Y3JvbGxQcm94eU5vZGU+IFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZTo6Y3Jl
YXRlKFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQp
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xs
UHJveHlOb2RlKHNjcm9sbGluZ1RyZWUsIG5vZGVJRCkpOworfQorCitTY3JvbGxpbmdUcmVlT3Zl
cmZsb3dTY3JvbGxQcm94eU5vZGU6OlNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9k
ZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQor
ICAgIDogU2Nyb2xsaW5nVHJlZU5vZGUoc2Nyb2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZVR5cGU6
Ok92ZXJmbG93UHJveHksIG5vZGVJRCkKK3sKK30KKworU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Ny
b2xsUHJveHlOb2RlOjp+U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlKCkgPSBk
ZWZhdWx0OworCit2b2lkIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZTo6Y29t
bWl0U3RhdGVCZWZvcmVDaGlsZHJlbihjb25zdCBTY3JvbGxpbmdTdGF0ZU5vZGUmIHN0YXRlTm9k
ZSkKK3sKKyAgICBjb25zdCBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlJiBv
dmVyZmxvd1Byb3h5U3RhdGVOb2RlID0gZG93bmNhc3Q8U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Nj
cm9sbFByb3h5Tm9kZT4oc3RhdGVOb2RlKTsKKworICAgIGlmIChzdGF0ZU5vZGUuaGFzQ2hhbmdl
ZFByb3BlcnR5KFNjcm9sbGluZ1N0YXRlTm9kZTo6TGF5ZXIpKQorICAgICAgICBtX2xheWVyID0g
c3RhdGVOb2RlLmxheWVyKCk7CisKKyAgICBpZiAob3ZlcmZsb3dQcm94eVN0YXRlTm9kZS5oYXND
aGFuZ2VkUHJvcGVydHkoU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZTo6T3Zl
cmZsb3dTY3JvbGxpbmdOb2RlKSkKKyAgICAgICAgbV9vdmVyZmxvd1Njcm9sbGluZ05vZGVJRCA9
IG92ZXJmbG93UHJveHlTdGF0ZU5vZGUub3ZlcmZsb3dTY3JvbGxpbmdOb2RlKCk7CisKKyAgICBh
dXRvJiByZWxhdGVkTm9kZXMgPSBzY3JvbGxpbmdUcmVlKCkub3ZlcmZsb3dSZWxhdGVkTm9kZXMo
KTsKKyAgICByZWxhdGVkTm9kZXMuZW5zdXJlKG1fb3ZlcmZsb3dTY3JvbGxpbmdOb2RlSUQsIFtd
IHsKKyAgICAgICAgcmV0dXJuIFZlY3RvcjxTY3JvbGxpbmdOb2RlSUQ+KCk7CisgICAgfSkuaXRl
cmF0b3ItPnZhbHVlLmFwcGVuZChzY3JvbGxpbmdOb2RlSUQoKSk7CisKKyAgICBzY3JvbGxpbmdU
cmVlKCkucG9zaXRpb25lZE5vZGVzV2l0aFJlbGF0ZWRPdmVyZmxvdygpLmFkZChzY3JvbGxpbmdO
b2RlSUQoKSk7Cit9CisKK0Zsb2F0U2l6ZSBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94
eU5vZGU6OnNjcm9sbERlbHRhU2luY2VMYXN0Q29tbWl0KCkgY29uc3QKK3sKKyAgICBpZiAoYXV0
byogbm9kZSA9IHNjcm9sbGluZ1RyZWUoKS5ub2RlRm9ySUQobV9vdmVyZmxvd1Njcm9sbGluZ05v
ZGVJRCkpIHsKKyAgICAgICAgaWYgKGlzPFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05v
ZGU+KG5vZGUpKQorICAgICAgICAgICAgcmV0dXJuIGRvd25jYXN0PFNjcm9sbGluZ1RyZWVPdmVy
Zmxvd1Njcm9sbGluZ05vZGU+KCpub2RlKS5zY3JvbGxEZWx0YVNpbmNlTGFzdENvbW1pdCgpOwor
ICAgIH0KKworICAgIHJldHVybiB7IH07Cit9CisKK3ZvaWQgU2Nyb2xsaW5nVHJlZU92ZXJmbG93
U2Nyb2xsUHJveHlOb2RlOjphcHBseUxheWVyUG9zaXRpb25zKCkKK3sKKyAgICBGbG9hdFBvaW50
IHNjcm9sbE9mZnNldDsKKyAgICBpZiAoYXV0byogbm9kZSA9IHNjcm9sbGluZ1RyZWUoKS5ub2Rl
Rm9ySUQobV9vdmVyZmxvd1Njcm9sbGluZ05vZGVJRCkpIHsKKyAgICAgICAgaWYgKGlzPFNjcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGU+KG5vZGUpKSB7CisgICAgICAgICAgICBhdXRv
JiBvdmVyZmxvd05vZGUgPSBkb3duY2FzdDxTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlPigqbm9kZSk7CisgICAgICAgICAgICBzY3JvbGxPZmZzZXQgPSBvdmVyZmxvd05vZGUuY3Vy
cmVudFNjcm9sbE9mZnNldCgpOworICAgICAgICB9CisgICAgfQorCisgICAgTE9HX1dJVEhfU1RS
RUFNKFNjcm9sbGluZywgc3RyZWFtIDw8ICJTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxQcm94
eU5vZGUgIiA8PCBzY3JvbGxpbmdOb2RlSUQoKSA8PCAiIGFwcGx5TGF5ZXJQb3NpdGlvbnM6IHNl
dHRpbmcgYm91bmRzIG9yaWdpbiB0byAiIDw8IHNjcm9sbE9mZnNldCk7CisgICAgW21fbGF5ZXIg
X3dlYl9zZXRMYXllckJvdW5kc09yaWdpbjpzY3JvbGxPZmZzZXRdOworfQorCit2b2lkIFNjcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZTo6ZHVtcFByb3BlcnRpZXMoVGV4dFN0cmVh
bSYgdHMsIFNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dEJlaGF2aW9yIGJlaGF2aW9yKSBjb25zdAor
eworICAgIHRzIDw8ICJvdmVyZmxvdyBzY3JvbGwgcHJveHkgbm9kZSI7CisgICAgU2Nyb2xsaW5n
VHJlZU5vZGU6OmR1bXBQcm9wZXJ0aWVzKHRzLCBiZWhhdmlvcik7CisKKyAgICBpZiAoYXV0byog
cmVsYXRlZE92ZXJmbG93Tm9kZSA9IHNjcm9sbGluZ1RyZWUoKS5ub2RlRm9ySUQobV9vdmVyZmxv
d1Njcm9sbGluZ05vZGVJRCkpIHsKKyAgICAgICAgYXV0byBzY3JvbGxQb3NpdGlvbiA9IGRvd25j
YXN0PFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGU+KCpyZWxhdGVkT3ZlcmZsb3dO
b2RlKS5jdXJyZW50U2Nyb2xsUG9zaXRpb24oKTsKKyAgICAgICAgdHMuZHVtcFByb3BlcnR5KCJy
ZWxhdGVkIG92ZXJmbG93IHNjcm9sbGluZyBub2RlIHNjcm9sbCBwb3NpdGlvbiIsIHNjcm9sbFBv
c2l0aW9uKTsKKyAgICB9CisKKyAgICBpZiAoYmVoYXZpb3IgJiBTY3JvbGxpbmdTdGF0ZVRyZWVB
c1RleHRCZWhhdmlvckluY2x1ZGVOb2RlSURzKQorICAgICAgICB0cy5kdW1wUHJvcGVydHkoIm92
ZXJmbG93IHNjcm9sbGluZyBub2RlIiwgbV9vdmVyZmxvd1Njcm9sbGluZ05vZGVJRCk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBU1lOQ19TQ1JPTExJ
TkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jb2NvYS9TY3Jv
bGxpbmdUcmVlUG9zaXRpb25lZE5vZGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9jb2NvYS9TY3JvbGxpbmdUcmVlUG9zaXRpb25lZE5vZGUubW0KaW5kZXggMjVjNTY2MjJiMGRi
ZGIzZTkyNjk5NjFlN2JmMWZmZmY2NDdkMzhiNi4uOTY2Y2NlNTFiMTAyMTViYmM2NTYzMGExYjlj
OGUzOTk2NTdlNzFjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
Y29jb2EvU2Nyb2xsaW5nVHJlZVBvc2l0aW9uZWROb2RlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL2NvY29hL1Njcm9sbGluZ1RyZWVQb3NpdGlvbmVkTm9kZS5tbQpAQCAt
MzMsNyArMzMsNyBAQAogI2ltcG9ydCAiU2Nyb2xsaW5nVHJlZS5oIgogI2ltcG9ydCAiU2Nyb2xs
aW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZS5oIgogI2ltcG9ydCAiU2Nyb2xsaW5nVHJlZVNj
cm9sbGluZ05vZGUuaCIKLSNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FMYXllci5oPgorI2ltcG9ydCAi
V2ViQ29yZUNBTGF5ZXJFeHRyYXMuaCIKICNpbXBvcnQgPHd0Zi90ZXh0L1RleHRTdHJlYW0uaD4K
IAogbmFtZXNwYWNlIFdlYkNvcmUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5n
Tm9kZU1hYy5tbQppbmRleCA4OTlhNGIwMjZmYmE1NzNlODNiYWY0NmIzNzJkYjU0ZWY0NDkzMjk5
Li5iNTNhNjg0ZmEzMGM4N2YzNjE1ZDUyYjk4ODgyYTBmNjM3YjAzNzI4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xs
aW5nTm9kZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5tbQpAQCAtMzcsOCArMzcsNyBAQAogI2lt
cG9ydCAiU2Nyb2xsaW5nU3RhdGVUcmVlLmgiCiAjaW1wb3J0ICJTY3JvbGxpbmdUcmVlLmgiCiAj
aW1wb3J0ICJUaWxlQ29udHJvbGxlci5oIgotI2ltcG9ydCAiV2ViTGF5ZXIuaCIKLSNpbXBvcnQg
PFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgorI2ltcG9ydCAiV2ViQ29yZUNBTGF5ZXJFeHRyYXMu
aCIKICNpbXBvcnQgPHd0Zi9EZXF1ZS5oPgogI2ltcG9ydCA8d3RmL3RleHQvQ1N0cmluZy5oPgog
I2ltcG9ydCA8d3RmL3RleHQvVGV4dFN0cmVhbS5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVNYWMuY3BwCmluZGV4IGNhYjI1MDM1
YmM2NmE4MjlhMWIxM2ZhMjc5Mjg0ZDliZWRlYzUwOWYuLjViNGVmZWUwNTM3ZjhkYTI1MTIzZjRk
YWZlMmM5MWQxYzgyYzdkMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlTWFjLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU1hYy5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNs
dWRlICJTY3JvbGxpbmdUcmVlRml4ZWROb2RlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nVHJlZUZy
YW1lSG9zdGluZ05vZGUuaCIKICNpbmNsdWRlICJTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlTWFjLmgiCisjaW5jbHVkZSAiU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsUHJveHlOb2Rl
LmgiCiAjaW5jbHVkZSAiU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5oIgog
I2luY2x1ZGUgIlNjcm9sbGluZ1RyZWVQb3NpdGlvbmVkTm9kZS5oIgogI2luY2x1ZGUgIlNjcm9s
bGluZ1RyZWVTdGlja3lOb2RlLmgiCkBAIC01Nyw3ICs1OCw4IEBAIFJlZjxTY3JvbGxpbmdUcmVl
Tm9kZT4gU2Nyb2xsaW5nVHJlZU1hYzo6Y3JlYXRlU2Nyb2xsaW5nVHJlZU5vZGUoU2Nyb2xsaW5n
Tm9kZVR5CiAgICAgICAgIHJldHVybiBTY3JvbGxpbmdUcmVlRnJhbWVIb3N0aW5nTm9kZTo6Y3Jl
YXRlKCp0aGlzLCBub2RlSUQpOwogICAgIGNhc2UgU2Nyb2xsaW5nTm9kZVR5cGU6Ok92ZXJmbG93
OgogICAgICAgICByZXR1cm4gU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYzo6
Y3JlYXRlKCp0aGlzLCBub2RlSUQpOwotICAgICAgICBicmVhazsKKyAgICBjYXNlIFNjcm9sbGlu
Z05vZGVUeXBlOjpPdmVyZmxvd1Byb3h5OgorICAgICAgICByZXR1cm4gU2Nyb2xsaW5nVHJlZU92
ZXJmbG93U2Nyb2xsUHJveHlOb2RlOjpjcmVhdGUoKnRoaXMsIG5vZGVJRCk7CiAgICAgY2FzZSBT
Y3JvbGxpbmdOb2RlVHlwZTo6Rml4ZWQ6CiAgICAgICAgIHJldHVybiBTY3JvbGxpbmdUcmVlRml4
ZWROb2RlOjpjcmVhdGUoKnRoaXMsIG5vZGVJRCk7CiAgICAgY2FzZSBTY3JvbGxpbmdOb2RlVHlw
ZTo6U3RpY2t5OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFj
L1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1h
Yy5tbQppbmRleCA4ODU3NDJjMzBkZTBlYjY5OGYzOTFjNDNjM2ZiZjBiMjU2NWRiMzdlLi41YjA5
NzkzYTg0ZmEwZjExNGNkYjc4NjQ5NjAxMWQxN2JjNzRkMjZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5n
Tm9kZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xs
aW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZU1hYy5tbQpAQCAtOTEsOCArOTEsNyBAQCBGbG9h
dFBvaW50IFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVNYWM6OmFkanVzdGVkU2Ny
b2xsUG9zaXRpb24oY29uc3QgRgogCiB2b2lkIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGlu
Z05vZGVNYWM6OnJlcG9zaXRpb25TY3JvbGxpbmdMYXllcnMoKQogewotICAgIGF1dG8gc2Nyb2xs
T2Zmc2V0ID0gU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbE9mZnNldEZyb21Qb3NpdGlvbihjdXJyZW50
U2Nyb2xsUG9zaXRpb24oKSwgdG9GbG9hdFNpemUoc2Nyb2xsT3JpZ2luKCkpKTsKLSAgICBbc2Ny
b2xsQ29udGFpbmVyTGF5ZXIoKSBfd2ViX3NldExheWVyQm91bmRzT3JpZ2luOnNjcm9sbE9mZnNl
dF07CisgICAgW3Njcm9sbENvbnRhaW5lckxheWVyKCkgX3dlYl9zZXRMYXllckJvdW5kc09yaWdp
bjpjdXJyZW50U2Nyb2xsT2Zmc2V0KCldOwogfQogCiB2b2lkIFNjcm9sbGluZ1RyZWVPdmVyZmxv
d1Njcm9sbGluZ05vZGVNYWM6OnJlcG9zaXRpb25SZWxhdGVkTGF5ZXJzKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggNjc1
MmE4N2NmMzk0OTY3N2JkNzNmNDY0MjYyMmI1Yjk3NWUxYmRmMy4uMzA1ODMzNDE2MmIxMTg2Zjg4
YTMwMDRhNzEyM2YyNWM5NWY4ZTI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTQxMTYsNiArNDExNiw4IEBAIHN0YXRp
YyBpbmxpbmUgU2Nyb2xsQ29vcmRpbmF0aW9uUm9sZSBzY3JvbGxDb29yZGluYXRpb25Sb2xlRm9y
Tm9kZVR5cGUoU2Nyb2xsaW5nCiAgICAgICAgIHJldHVybiBTY3JvbGxDb29yZGluYXRpb25Sb2xl
OjpWaWV3cG9ydENvbnN0cmFpbmVkOwogICAgIGNhc2UgU2Nyb2xsaW5nTm9kZVR5cGU6OlBvc2l0
aW9uZWQ6CiAgICAgICAgIHJldHVybiBTY3JvbGxDb29yZGluYXRpb25Sb2xlOjpQb3NpdGlvbmlu
ZzsKKyAgICBjYXNlIFNjcm9sbGluZ05vZGVUeXBlOjpPdmVyZmxvd1Byb3h5OgorICAgICAgICBi
cmVhazsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIFNjcm9s
bENvb3JkaW5hdGlvblJvbGU6OlNjcm9sbGluZzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3Jv
bGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmNwcAppbmRleCAzNTQzN2M3YTM1NjJlMzg5NmE2
NDdkYTFlMmY1ZGNlNjc3OGUxZTI4Li4wNWU3MTk2N2U3YWFjNTUzMWQxMWQxMjVkZTJhYWViODAy
ZTMwMjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUv
UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJh
bnNhY3Rpb24uY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxp
bmdTdGF0ZUZpeGVkTm9kZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2Nyb2xsaW5nU3RhdGVGcmFt
ZUhvc3RpbmdOb2RlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Ny
b2xsaW5nTm9kZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Nj
cm9sbFByb3h5Tm9kZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2Nyb2xsaW5nU3RhdGVPdmVyZmxv
d1Njcm9sbGluZ05vZGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Njcm9sbGluZ1N0YXRlUG9zaXRp
b25lZE5vZGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Njcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZS5o
PgpAQCAtNzAsNiArNzEsMTEgQEAgdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxTY3Jv
bGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT4gewogICAgIHN0YXRpYyBib29sIGRlY29k
ZShEZWNvZGVyJiwgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGUmKTsKIH07CiAK
K3RlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Nj
cm9sbFByb3h5Tm9kZT4geworICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3Qg
U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZSYpOworICAgIHN0YXRpYyBib29s
IGRlY29kZShEZWNvZGVyJiwgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZSYp
OworfTsKKwogdGVtcGxhdGU8PiBzdHJ1Y3QgQXJndW1lbnRDb2RlcjxTY3JvbGxpbmdTdGF0ZUZp
eGVkTm9kZT4gewogICAgIHN0YXRpYyB2b2lkIGVuY29kZShFbmNvZGVyJiwgY29uc3QgU2Nyb2xs
aW5nU3RhdGVGaXhlZE5vZGUmKTsKICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIFNj
cm9sbGluZ1N0YXRlRml4ZWROb2RlJik7CkBAIC0yMDEsNiArMjA3LDEyIEBAIHZvaWQgQXJndW1l
bnRDb2RlcjxTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZT46OmVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyCiAgICAgZW5jb2RlciA8PCBzdGF0aWNfY2FzdDxjb25zdCBTY3JvbGxpbmdT
dGF0ZVNjcm9sbGluZ05vZGUmPihub2RlKTsKIH0KIAordm9pZCBBcmd1bWVudENvZGVyPFNjcm9s
bGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxQcm94eU5vZGU+OjplbmNvZGUoRW5jb2RlciYgZW5jb2Rl
ciwgY29uc3QgU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZSYgbm9kZSkKK3sK
KyAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSY+KG5v
ZGUpOworICAgIFNDUk9MTElOR19OT0RFX0VOQ09ERShTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Ny
b2xsUHJveHlOb2RlOjpPdmVyZmxvd1Njcm9sbGluZ05vZGUsIG92ZXJmbG93U2Nyb2xsaW5nTm9k
ZSkKK30KKwogI2RlZmluZSBTQ1JPTExJTkdfTk9ERV9ERUNPREUocHJvcGVydHksIHR5cGUsIHNl
dHRlcikgXAogICAgIGlmIChub2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShwcm9wZXJ0eSkpIHsgXAog
ICAgICAgICB0eXBlIGRlY29kZWRWYWx1ZTsgXApAQCAtMzQ1LDYgKzM1NywxNSBAQCBib29sIEFy
Z3VtZW50Q29kZXI8U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU+OjpkZWNvZGUo
RGVjb2RlciYgZGVjb2RlcgogICAgIHJldHVybiB0cnVlOwogfQogCitib29sIEFyZ3VtZW50Q29k
ZXI8U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZT46OmRlY29kZShEZWNvZGVy
JiBkZWNvZGVyLCBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlJiBub2RlKQor
eworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoc3RhdGljX2Nhc3Q8U2Nyb2xsaW5nU3RhdGVOb2Rl
Jj4obm9kZSkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBTQ1JPTExJTkdfTk9ERV9E
RUNPREUoU2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZTo6T3ZlcmZsb3dTY3Jv
bGxpbmdOb2RlLCBTY3JvbGxpbmdOb2RlSUQsIHNldE92ZXJmbG93U2Nyb2xsaW5nTm9kZSk7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKIHZvaWQgQXJndW1lbnRDb2RlcjxTY3JvbGxpbmdTdGF0ZUZp
eGVkTm9kZT46OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBTY3JvbGxpbmdTdGF0ZUZp
eGVkTm9kZSYgbm9kZSkKIHsKICAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0PGNvbnN0IFNjcm9s
bGluZ1N0YXRlTm9kZSY+KG5vZGUpOwpAQCAtNDQxLDYgKzQ2Miw5IEBAIHN0YXRpYyB2b2lkIGVu
Y29kZU5vZGVBbmREZXNjZW5kYW50cyhJUEM6OkVuY29kZXImIGVuY29kZXIsIGNvbnN0IFNjcm9s
bGluZ1N0YXRlCiAgICAgY2FzZSBTY3JvbGxpbmdOb2RlVHlwZTo6T3ZlcmZsb3c6CiAgICAgICAg
IGVuY29kZXIgPDwgZG93bmNhc3Q8U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU+
KHN0YXRlTm9kZSk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgU2Nyb2xsaW5nTm9kZVR5cGU6
Ok92ZXJmbG93UHJveHk6CisgICAgICAgIGVuY29kZXIgPDwgZG93bmNhc3Q8U2Nyb2xsaW5nU3Rh
dGVPdmVyZmxvd1Njcm9sbFByb3h5Tm9kZT4oc3RhdGVOb2RlKTsKKyAgICAgICAgYnJlYWs7CiAg
ICAgY2FzZSBTY3JvbGxpbmdOb2RlVHlwZTo6Rml4ZWQ6CiAgICAgICAgIGVuY29kZXIgPDwgZG93
bmNhc3Q8U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU+KHN0YXRlTm9kZSk7CiAgICAgICAgIGJyZWFr
OwpAQCAtNTM0LDYgKzU1OCwxMCBAQCBib29sIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJh
bnNhY3Rpb246OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIpCiAgICAgICAgICAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKGRvd25jYXN0PFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdO
b2RlPigqbmV3Tm9kZSkpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIFNjcm9sbGluZ05vZGVUeXBlOjpPdmVyZmxvd1Byb3h5
OgorICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShkb3duY2FzdDxTY3JvbGxpbmdTdGF0
ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlPigqbmV3Tm9kZSkpKQorICAgICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIFNjcm9sbGluZ05v
ZGVUeXBlOjpGaXhlZDoKICAgICAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZG93bmNhc3Q8
U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU+KCpuZXdOb2RlKSkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwpAQCAtNjUyLDYgKzY4MCwxMiBAQCBzdGF0aWMgdm9pZCBkdW1wKFRleHRTdHJl
YW0mIHRzLCBjb25zdCBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZSYgbm9kZQog
ICAgIGR1bXAodHMsIHN0YXRpY19jYXN0PGNvbnN0IFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9k
ZSY+KG5vZGUpLCBjaGFuZ2VkUHJvcGVydGllc09ubHkpOwogfQogCitzdGF0aWMgdm9pZCBkdW1w
KFRleHRTdHJlYW0mIHRzLCBjb25zdCBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsUHJveHlO
b2RlJiBub2RlLCBib29sIGNoYW5nZWRQcm9wZXJ0aWVzT25seSkKK3sKKyAgICBpZiAoIWNoYW5n
ZWRQcm9wZXJ0aWVzT25seSB8fCBub2RlLmhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0
ZU92ZXJmbG93U2Nyb2xsUHJveHlOb2RlOjpPdmVyZmxvd1Njcm9sbGluZ05vZGUpKQorICAgICAg
ICB0cy5kdW1wUHJvcGVydHkoIm92ZXJmbG93LXNjcm9sbGluZy1ub2RlIiwgbm9kZS5vdmVyZmxv
d1Njcm9sbGluZ05vZGUoKSk7Cit9CisKIHN0YXRpYyB2b2lkIGR1bXAoVGV4dFN0cmVhbSYgdHMs
IGNvbnN0IFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlJiBub2RlLCBib29sIGNoYW5nZWRQcm9wZXJ0
aWVzT25seSkKIHsKICAgICBpZiAoIWNoYW5nZWRQcm9wZXJ0aWVzT25seSB8fCBub2RlLmhhc0No
YW5nZWRQcm9wZXJ0eShTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZTo6Vmlld3BvcnRDb25zdHJhaW50
cykpCkBAIC02OTEsNiArNzI1LDkgQEAgc3RhdGljIHZvaWQgZHVtcChUZXh0U3RyZWFtJiB0cywg
Y29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlJiBub2RlLCBib29sIGNoYW5nZWRQcm8KICAgICBjYXNl
IFNjcm9sbGluZ05vZGVUeXBlOjpPdmVyZmxvdzoKICAgICAgICAgZHVtcCh0cywgZG93bmNhc3Q8
U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU+KG5vZGUpLCBjaGFuZ2VkUHJvcGVy
dGllc09ubHkpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIFNjcm9sbGluZ05vZGVUeXBlOjpP
dmVyZmxvd1Byb3h5OgorICAgICAgICBkdW1wKHRzLCBkb3duY2FzdDxTY3JvbGxpbmdTdGF0ZU92
ZXJmbG93U2Nyb2xsUHJveHlOb2RlPihub2RlKSwgY2hhbmdlZFByb3BlcnRpZXNPbmx5KTsKKyAg
ICAgICAgYnJlYWs7CiAgICAgY2FzZSBTY3JvbGxpbmdOb2RlVHlwZTo6Rml4ZWQ6CiAgICAgICAg
IGR1bXAodHMsIGRvd25jYXN0PFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlPihub2RlKSwgY2hhbmdl
ZFByb3BlcnRpZXNPbmx5KTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3Rl
U2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXggZDU5ZDljMWJkZjc5Y2RiNzMzOTgw
NWNkYTc3ODg4MzI5MjdlNTQ4Zi4uZmFhNDFkYzE4YWQ3OGQ3MDdmMTU3NzM0YTg0OGMzMGIwZTM3
ZGJlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5
LmNwcApAQCAtMTU2LDYgKzE1Niw3IEBAIHZvaWQgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQ
cm94eTo6Y29ubmVjdFN0YXRlTm9kZUxheWVycyhTY3JvbGxpbmdTdGF0ZVRyZWUmCiAgICAgICAg
ICAgICAgICAgc2Nyb2xsaW5nU3RhdGVOb2RlLnNldEhvcml6b250YWxTY3JvbGxiYXJMYXllcihs
YXllclRyZWVIb3N0LmxheWVyRm9ySUQoc2Nyb2xsaW5nU3RhdGVOb2RlLmhvcml6b250YWxTY3Jv
bGxiYXJMYXllcigpKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQorICAgICAgICBj
YXNlIFNjcm9sbGluZ05vZGVUeXBlOjpPdmVyZmxvd1Byb3h5OgogICAgICAgICBjYXNlIFNjcm9s
bGluZ05vZGVUeXBlOjpGcmFtZUhvc3Rpbmc6CiAgICAgICAgIGNhc2UgU2Nyb2xsaW5nTm9kZVR5
cGU6OkZpeGVkOgogICAgICAgICBjYXNlIFNjcm9sbGluZ05vZGVUeXBlOjpTdGlja3k6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvUmVtb3RlU2Ny
b2xsaW5nVHJlZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUv
UmVtb3RlU2Nyb2xsaW5nVHJlZS5jcHAKaW5kZXggYmQ1YzQ1MWYwZTBlMzUyNWY4YTYwNTE1NWM0
MzdhNzRlZDU4Y2ExNC4uYWZhYmJjMWVhZTMxZjg2YjlkNGFiODlmNjc1NDVlZmVkZWM1NTBmMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL1JlbW90
ZVNjcm9sbGluZ1RyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxh
eWVyVHJlZS9SZW1vdGVTY3JvbGxpbmdUcmVlLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1
ZGUgIlJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Njcm9sbGluZ1Ry
ZWVGcmFtZUhvc3RpbmdOb2RlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TY3JvbGxpbmdUcmVlT3Zl
cmZsb3dTY3JvbGxQcm94eU5vZGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Njcm9sbGluZ1RyZWVQ
b3NpdGlvbmVkTm9kZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2Nyb2xsaW5nVHJlZVN0aWNreU5v
ZGUuaD4KIApAQCAtMTI5LDYgKzEzMCw4IEBAIFJlZjxTY3JvbGxpbmdUcmVlTm9kZT4gUmVtb3Rl
U2Nyb2xsaW5nVHJlZTo6Y3JlYXRlU2Nyb2xsaW5nVHJlZU5vZGUoU2Nyb2xsaW5nTm9kCiAjZWxz
ZQogICAgICAgICByZXR1cm4gU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZVJlbW90
ZU1hYzo6Y3JlYXRlKCp0aGlzLCBub2RlSUQpOwogI2VuZGlmCisgICAgY2FzZSBTY3JvbGxpbmdO
b2RlVHlwZTo6T3ZlcmZsb3dQcm94eToKKyAgICAgICAgcmV0dXJuIFNjcm9sbGluZ1RyZWVPdmVy
Zmxvd1Njcm9sbFByb3h5Tm9kZTo6Y3JlYXRlKCp0aGlzLCBub2RlSUQpOwogICAgIGNhc2UgU2Ny
b2xsaW5nTm9kZVR5cGU6OkZpeGVkOgogICAgICAgICByZXR1cm4gU2Nyb2xsaW5nVHJlZUZpeGVk
Tm9kZTo6Y3JlYXRlKCp0aGlzLCBub2RlSUQpOwogICAgIGNhc2UgU2Nyb2xsaW5nTm9kZVR5cGU6
OlN0aWNreToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eUlPUy5tbSBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvUmVtb3RlU2Nyb2xsaW5nQ29vcmRp
bmF0b3JQcm94eUlPUy5tbQppbmRleCA5N2RiY2I0ZDc1N2I1ZjI5MmQ0MGY4MTBiY2QxNTRhNzMw
YzdhMDZkLi42YjZkMTA3N2ExMGQzZDY3N2RmZGUzNDU4NmI4MDRlYmVlYTg0ODEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZVNj
cm9sbGluZ0Nvb3JkaW5hdG9yUHJveHlJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclByb3h5SU9T
Lm1tCkBAIC0zNCw2ICszNCw3IEBACiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQg
PFVJS2l0L1VJVmlldy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxpbmdTdGF0ZUZyYW1lU2Ny
b2xsaW5nTm9kZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Ny
b2xsUHJveHlOb2RlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Njcm9sbGluZ1N0YXRlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Njcm9sbGluZ1N0YXRlUG9zaXRpb25l
ZE5vZGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2Nyb2xsaW5nU3RhdGVUcmVlLmg+CkBAIC00Myw2
ICs0NCw3IEBACiAjaW1wb3J0IDxXZWJDb3JlL1Njcm9sbFNuYXBPZmZzZXRzSW5mby5oPgogI2lt
cG9ydCA8V2ViQ29yZS9TY3JvbGxUeXBlcy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxpbmdU
cmVlRnJhbWVTY3JvbGxpbmdOb2RlLmg+CisjaW1wb3J0IDxXZWJDb3JlL1Njcm9sbGluZ1RyZWVP
dmVyZmxvd1Njcm9sbFByb3h5Tm9kZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9TY3JvbGxpbmdUcmVl
T3ZlcmZsb3dTY3JvbGxpbmdOb2RlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Njcm9sbGluZ1RyZWVQ
b3NpdGlvbmVkTm9kZS5oPgogI2VuZGlmCkBAIC04OCw2ICs5MCw3IEBAIHZvaWQgUmVtb3RlU2Ny
b2xsaW5nQ29vcmRpbmF0b3JQcm94eTo6Y29ubmVjdFN0YXRlTm9kZUxheWVycyhTY3JvbGxpbmdT
dGF0ZVRyZWUmCiAgICAgICAgICAgICAgICAgc2Nyb2xsaW5nU3RhdGVOb2RlLnNldEZvb3Rlckxh
eWVyKGxheWVyVHJlZUhvc3QubGF5ZXJGb3JJRChzY3JvbGxpbmdTdGF0ZU5vZGUuZm9vdGVyTGF5
ZXIoKSkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAgY2FzZSBTY3Jv
bGxpbmdOb2RlVHlwZTo6T3ZlcmZsb3dQcm94eToKICAgICAgICAgY2FzZSBTY3JvbGxpbmdOb2Rl
VHlwZTo6RnJhbWVIb3N0aW5nOgogICAgICAgICBjYXNlIFNjcm9sbGluZ05vZGVUeXBlOjpGaXhl
ZDoKICAgICAgICAgY2FzZSBTY3JvbGxpbmdOb2RlVHlwZTo6U3RpY2t5OgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVt
b3RlTGF5ZXJUcmVlL2lvcy9TY3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TLm1t
CmluZGV4IDVjMzllNzgyMmQ4ZjUyMmY1ODQ0NWQzNDM5NTdkM2NlNjJjYjBkNWEuLmNmMWYzZjhh
ODkwYTk5ZjliMmU0YTkxODA5OTgwMDRkZDFkZWNkZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJlZS9pb3MvU2Nyb2xsaW5nVHJlZVNjcm9sbGluZ05v
ZGVEZWxlZ2F0ZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXll
clRyZWUvaW9zL1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1MubW0KQEAgLTI5
NSw4ICsyOTUsNyBAQCB2b2lkIFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlRGVsZWdhdGVJT1M6
OmNvbW1pdFN0YXRlQWZ0ZXJDaGlsZHJlbihjb25zdCBTY3JvbAogdm9pZCBTY3JvbGxpbmdUcmVl
U2Nyb2xsaW5nTm9kZURlbGVnYXRlSU9TOjpyZXBvc2l0aW9uU2Nyb2xsaW5nTGF5ZXJzKCkKIHsK
ICAgICBCRUdJTl9CTE9DS19PQkpDX0VYQ0VQVElPTlMKLSAgICBhdXRvIHNjcm9sbE9mZnNldCA9
IFNjcm9sbGFibGVBcmVhOjpzY3JvbGxPZmZzZXRGcm9tUG9zaXRpb24oc2Nyb2xsaW5nTm9kZSgp
LmN1cnJlbnRTY3JvbGxQb3NpdGlvbigpLCB0b0Zsb2F0U2l6ZShzY3JvbGxPcmlnaW4oKSkpOwot
ICAgIFtzY3JvbGxWaWV3KCkgc2V0Q29udGVudE9mZnNldDpzY3JvbGxPZmZzZXRdOworICAgIFtz
Y3JvbGxWaWV3KCkgc2V0Q29udGVudE9mZnNldDpzY3JvbGxpbmdOb2RlKCkuY3VycmVudFNjcm9s
bE9mZnNldCgpXTsKICAgICBFTkRfQkxPQ0tfT0JKQ19FWENFUFRJT05TCiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>